2009-02-06 79 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); 
}