2

我想知道是否有办法获得DataGrid的 HTML 输出。我想要数据绑定到网格后的原始HTML。我可以用来完成此任务的渲染方法是否存在某种重载?谢谢。

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 回答