Как программно построить System.Web.UI.Page с формой и пользовательским контролем?
У меня есть этот код:
public static string RenderView(string path)
{
Page pageHolder = new Page();
UserControl viewControl = (UserControl)pageHolder.LoadControl(path);
pageHolder.Controls.Add(viewControl);
StringWriter output = new StringWriter();
HttpContext.Current.Server.Execute(pageHolder, output, false);
return output.ToString();
}
Который запускается из:
[WebMethod]
public string GetReportsHTML()
{
string output = "";
output = ViewManager.RenderView("ReportsControl.ascx");
return output;
}
Это делается для того, чтобы проверить рендеринг файлов ASCX и выбросить их из службы SOAP / REST.
Проблема в том, что некоторые элементы управления (runat = server) не работают, если они не заключены в тег с runat = server.
Решение этой проблемыВот, но решение предполагает наличие внутри файла ASPX, где я могу просто отредактировать разметку.
Как мне программно построить страницу, добавить форму, установить runat = server, чтобы я мог следовать этому решению и добавить свой элемент управления в элемент управления формы?