我正在尝试在Web服务中加载用户控件,但它不会执行Load_Page()。
我试图使用:
HttpContext.Current.Server.Execute(page, text, false);
但它返回NullException。这是我的代码:
public string Controle(string url)
{
Page page = new Page();
UserControl userControl = (UserControl)page.LoadControl(url);
//userControl.EnableViewState = false;
HtmlForm form = new HtmlForm();
form.Controls.Add(userControl);
page.Controls.Add(form);
StringWriter text = new StringWriter();
HtmlTextWriter htmltext = new HtmlTextWriter(text);
userControl.RenderControl(htmltext);
return text.ToString();
}
希望很清楚。
答案 0 :(得分:1)
您需要使用类似
的方法初始化控件this.Load + = Page_Load;
请参阅这篇文章,它解释了为实现这一目标需要做些什么。请务必阅读说明部分; “ 提醒一句: ” http://weblogs.asp.net/srkirkland/archive/2007/11/05/dynamically-render-a-web-user-control.aspx 这篇相关的帖子也可以提供帮助: Page_Load not firing in UserControl