Jak mogę programowo zbudować System.Web.UI.Page z formularzem i UserControl?

Mam ten kod:

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();
}

Który jest uruchamiany z:

    [WebMethod]
    public string GetReportsHTML()
    {
        string output = "";

        output = ViewManager.RenderView("ReportsControl.ascx");

        return output;
    }

Ma to na celu przetestowanie renderowania plików ASCX i wypuszczenie ich z usługi SOAP / REST.

Problem polega na tym, że niektóre kontrolki (runat = serwerowe) zawodzą, jeśli nie są zawarte w znaczniku z runat = server.

Rozwiązaniem jest totutaj, ale rozwiązanie zakłada bycie wewnątrz pliku ASPX, gdzie mogę po prostu edytować znaczniki.

Jak programowo zbudować stronę, dodać formularz, ustawić runat = serwer, aby móc śledzić to rozwiązanie i dodać moją kontrolę do formantu?

questionAnswers(1)

yourAnswerToTheQuestion