8

HTML ページのテンプレートがあり、そのコンテンツを ASP.NET に動的に追加する必要があります。また、データに応じて、テンプレート ページの多くのインスタンスを作成する必要があります。

文字列を使用して大きな Html を作成することは非常に汚い方法であることは明らかです。そこで、HtmlGenericControl を使用して Html を生成することにしました。そして、私はそれを作りました。しかし、生成された Html を文字列として取得できません

これらのコントロールを ASP.NET ページに追加してレンダリングするのは簡単ですが、Html が必要です。

それが不可能な場合、Html を生成する他の構造化された方法はありますか...???

4

2 に答える 2

22

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

これが今後の読者に役立つことを願っています... :)

于 2013-05-09T04:41:26.633 に答える