2

DataGridの HTML 出力を取得する方法があるかどうか疑問に思っていました。データがグリッドにバインドされた後、生のHTML が必要です。これを達成するために使用できる render メソッドのオーバーロードはありますか? ありがとう。

4

4 に答える 4

7
var outputBuffer = new StringBuilder();
using (var writer = new HtmlTextWriter(new StringWriter(outputBuffer)))
{
    yourDataGrid.RenderControl(writer);
}
outputBuffer.ToString();
于 2009-02-06T20:40:46.360 に答える
1

Render メソッドをオーバーライドしてベースの Render メソッドを呼び出したとしても、HTML はストリーム内にあります。

おそらく、コントロール アダプターアーキテクチャは、達成しようとしているものすべてに役立つのではないでしょうか?

于 2009-02-06T20:38:03.400 に答える
1

クラスでこのアプローチを使用できます(DataGridから派生):

protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
    StringWriter sw = new StringWriter();
    HtmlTextWriter hw = new HtmlTextWriter(sw);
    base.Render(hw);

    string html = ProcessHtml(sw.ToString());

    writer.Writer(html);
}
于 2009-02-06T20:44:50.297 に答える
-1
protected internal override void Render(HtmlTextWriter writer)
{
     /// use HtmlTextWriter to customize your output
}
于 2009-02-06T20:35:51.860 に答える