如何获得生成的Html形式HtmlGenericControl

本文关键字:Html 形式 HtmlGenericControl 何获得 | 更新日期: 2023-09-27 18:12:45

我有一个Html页面模板,我需要在ASP.NET中动态添加其内容。我还需要使模板页面的许多实例,取决于数据。

很明显,使用字符串创建大型Html是一种非常肮脏的方式。所以我选择使用HtmlGenericControl生成我的Html。我做到了。但是我不能得到生成的Html作为字符串从它

在ASP中添加这些控件很简单。. NET页面和渲染,但我需要他们的Html。

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

如何获得生成的Html形式HtmlGenericControl

@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();       
    }
}

希望这对以后的读者有帮助…:)

下面是VB中的相同代码:

    Dim generatedHtml As New StringBuilder()
    Dim htw As New HtmlTextWriter(New IO.StringWriter(generatedHtml))
    mainDiv.RenderControl(htw)
    Dim output As String = generatedHtml.ToString()