我有这样的代码:
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 =服务器标签封装一些控件(RUNAT =服务器的)失败。
该解决方案是在这里 ,但解决方案假定是一个ASPX文件,在那里我可以编辑标记内。
我将如何编程方式创建一个页面,添加一个表格,设置RUNAT =服务器,这样我可以遵循的解决方案,我的控件添加到窗体控件?