Eu estou tentando carregar um controle de usuário em um serviço da web, mas ele não executa o Load_Page ().
Eu tentei usar:
HttpContext.Current.Server.Execute(page, text, false);
Mas retorna um NullException. É meu código:
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();
}
Espero que esteja claro.
Respostas:
1 para resposta № 1Você precisa inicializar o controle usando um método que faz algo como
this.Load + = Page_Load;
Por favor, consulte este post que explica exatamente o que precisa ser feito para conseguir isso. Não deixe de ler a seção informando; "Uma palavra de cautela:" http://weblogs.asp.net/srkirkland/archive/2007/11/05/dynamically-render-a-web-user-control.aspx Esta postagem relacionada também poderá ajudar: Page_Load não disparando no UserControl