/ / Carregando um controle de usuário dinamicamente - c #, asp.net, web-services, rest

Carregando um controle de usuário dinamicamente - c #, asp.net, web-services, rest

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 № 1

Você 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