如何获取生成的Html表单HtmlGenericControl

uma*_*ali 8 c# asp.net htmlgenericcontrol html-generation

我有一个Html页面的模板,我需要在ASP.NET中动态添加其内容.我还需要对模板页面进行多次设置,具体取决于数据.

很明显,使用字符串创建大型Html非常脏.所以我选择使用HtmlGenericControl生成我的Html.而我做到了.但是我无法将生成的Html作为字符串从中获取.

它很容易在ASP.NET页面中添加这些控件并进行渲染,但我需要他们的Html.

如果它不可能,是否有任何其他结构化的方式生成Html ...... ???

uma*_*ali 21

@Bartdude讲述的伎俩就像一个魅力...

对于其他人来说,解决方案就是这样......

// 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();       
    }
}
Run Code Online (Sandbox Code Playgroud)

希望这有助于即将到来的读者...... :)