Как программно построить 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, чтобы я мог следовать этому решению и добавить свой элемент управления в элемент управления формы?

Ответы на вопрос(1)

Ваш ответ на вопрос