If I create a UserControl and add some objects to it, how can I grab the HTML it would render?
ex.
UserControl myControl = new UserControl();
myControl.Controls.Add(new TextBox());
// ...something happens
return strHTMLofControl;
I'd like to just convert a newly built UserControl to a string of HTML.
You can render the control using Control.RenderControl(HtmlTextWriter)
.
Feed StringWriter
to the HtmlTextWriter
.
Feed StringBuilder
to the StringWriter
.
Your generated string will be inside the StringBuilder
object.
Here's a code example for this solution:
string html = String.Empty;
using (TextWriter myTextWriter = new StringWriter(new StringBuilder()))
{
using (HtmlTextWriter myWriter = new HtmlTextWriter(myTextWriter))
{
myControl.RenderControl(myWriter);
html = myTextWriter.ToString();
}
}