2011-08-16 23 views
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