2009-02-06 81 views

回答

7
var outputBuffer = new StringBuilder(); 
using (var writer = new HtmlTextWriter(new StringWriter(outputBuffer))) 
{ 
    yourDataGrid.RenderControl(writer); 
} 
outputBuffer.ToString(); 
-1
protected internal override void Render(HtmlTextWriter writer) 
{ 
    /// use HtmlTextWriter to customize your output 
} 
+0

我将如何使用,以获得原始的HTML后的数据已经被绑定到网格? – 2009-02-06 20:36:41

+0

好吧,创建一个作家对象,并将其传递给这个函数: RenderContents(writer);那么作者的内容就有你想要的输出。 – 2009-02-06 20:41:38

1

即使您没有重写Render方法并调用基本的Render方法,HTML也会出现在流中。

也许Control Adapter架构可能会帮助你试图完成任何事情?

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