2011-08-16 11 views
1

私は1つのユーザコントロールと1つのaspxページを持っています。 jqueryの助けを借りて、私はaspxファイルのページメソッドをトリガし、静的メソッドからユーザコントロールをロードします。しかし、私はエラーが発生している....ので、私は助けてください。pagemethodからユーザコントロールをロードする際に問題が発生する


[System.Web.Services.WebMethod()] 
public static string GetOrders(string customerId) 
{ 
    //System.Diagnostics.Trace.TraceWarning("In GetOrders"); 
    //System.Threading.Thread.Sleep(500); 
    Page page = new Page(); 
    CustomerOrders ctl = (CustomerOrders)page.LoadControl("CustomerOrders.ascx"); 
    ctl.CustomerId = customerId; 
    page.Controls.Add(ctl); 
    System.IO.StringWriter writer = new System.IO.StringWriter(); 
    HttpContext.Current.Server.Execute(page, writer, false); 
    string output = writer.ToString(); 
    writer.Close(); 
    return output; 
} 

エラーメッセージ私は

型または名前空間名「CustomerOrders」を取得しています後ろの私のaspxコードが見つかりませんでした

(あなたがusingディレクティブまたは欠落していますアセンブリ参照?)

私に解決策を教えてください。

答えて

2

コントロールへのフルパスを入れていることを確認してください。 ~/を使用すると、アプリケーションのルートが解決されます。

CustomerOrders ctl = 
    page.LoadControl("~/The/Full/Path/CustomerOrders.ascx") as CustomerOrders; 
+0

aspxとascxの両方がルートの下の同じフォルダにあります。なぜ私は完全な経路を述べるべきですか? – Thomas

関連する問題