Render a user control ascx

Posted by Jeremy on Stack Overflow See other posts from Stack Overflow or by Jeremy
Published on 2010-03-26T14:23:57Z Indexed on 2010/03/26 14:33 UTC
Read the original article Hit count: 444

Filed under:
|

I want to use an ascx as a template, and render it programatically, using the resulting html as the return value of an ajax method.

Page pageHolder = new Page();
MyUserControl ctlRender = (MyUserControl)pageHolder.LoadControl(typeof(MyUserControl),null);

pageHolder.Controls.Add(ctlRender);
System.IO.StringWriter swOutput = new System.IO.StringWriter();
HttpContext.Current.Server.Execute(pageHolder, swOutput, false);
return swOutput.ToString();

This all executes, and the Page Load event of the user control fires, but the StringWriter is always empty. I've seen similar code to this in other examples, what am I missing?

© Stack Overflow or respective owner

Related posts about ASP.NET

Related posts about usercontrols