столкнулся с проблемой при загрузке пользовательского элемента управления из Pagemethod - PullRequest
1 голос
/ 16 августа 2011

У меня есть один пользовательский элемент управления и одна страница aspx. с помощью jquery я запускаю метод page в моем файле aspx, который загружает пользовательский элемент управления из статического метода. но я получаю ошибку .... поэтому мне нужна помощь, пожалуйста.

мой код aspx позади


[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' (отсутствует директива using или ссылка на сборку?)

Пожалуйста, дайте мне решение.

1 Ответ

2 голосов
/ 16 августа 2011

Убедитесь, что вы вводите полный путь к своему контролю.Использование ~/ разрешит корень вашего приложения.

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