Boa Tarde
Estou fazendo uma chamada Ajax, que chama um metodo que retorna o html dos meus controles!
O problema é quando eu gero o HTML de um WebUserControl, ele gera só dos controles estaticos, ou seja, o que eu gerar via C#, não é adicionado neste html.
Ex:
//metodo que recebe o controle e retorna seu html public string RenderControlToHtml(Control ControlToRender) { System.Text.StringBuilder sb = new System.Text.StringBuilder(); System.IO.StringWriter stWriter = new System.IO.StringWriter(sb); System.Web.UI.HtmlTextWriter htmlWriter = new System.Web.UI.HtmlTextWriter(stWriter); ControlToRender.RenderControl(htmlWriter); return sb.ToString(); }
chamo o metodo assim:
string x = RenderControlToHtml(LoadControl("Conteudo.ascx"));
page_load do UserControl:
protected void Page_Load(object sender, EventArgs e) { Label lbl = new Label(); lbl.Text = @"testeeeeeeeeeeeeeeeeeeee"; lbl.Font.Size = FontUnit.Larger; lbl.ForeColor = System.Drawing.Color.Crimson; conteudo.Controls.Add(lbl); }
aspx do UserControl:
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Conteudo.ascx.cs" Inherits="CmsUnifra.Conteudo" %><div id="conteudo" runat="server"></div>
o que acontece é que, este o meu html gerado só tras a 'div' e suas propriedades(id), mas sem o 'testeeeeeeee' dentro dela!
o que devo fazer para 'compilar' o usercontrol e entao trazer o seu html completo?
desde ja agradeço