I have a template for Html page, and I need to add its contents dynamically in ASP.NET. I also need to make many instences of template page, depending in data.
Its obvious that creating large Html using strings is very dirty way. So I choosed to generate my Html using HtmlGenericControl. And i made it. But I cant get the generated Html as string from it.
Its simple to add these controls in ASP.NET pages and get rendered, but I need their Html.
If its not possible, is there any other structrued way of generating Html...???
Trick told by @Bartdude worked like a charm...
For other peoples, solution goes in this way...
// create you generic controls
HtmlGenericControl mainDiv = new HtmlGenericControl("div");
// setting required attributes and properties
// adding more generic controls to it
// finally, get the html when its ready
StringBuilder generatedHtml = new StringBuilder();
using (var htmlStringWriter = new StringWriter(generatedHtml))
{
using(var htmlTextWriter = new HtmlTextWriter(htmlStringWriter))
{
mainDiv.RenderControl(htmlTextWriter);
output = generatedHtml.ToString();
}
}
Hope this helps for coming readers...:)