Как получить вывод HTML из DataGrid? - PullRequest
2 голосов
/ 06 февраля 2009

Мне было интересно, есть ли какой-нибудь способ, как получить вывод HTML DataGrid . Мне нужен HTML raw после привязки данных к сетке. Есть ли какая-то перегрузка для метода рендеринга, который я могу использовать для достижения этой цели? Спасибо.

Ответы [ 4 ]

7 голосов
/ 06 февраля 2009
var outputBuffer = new StringBuilder();
using (var writer = new HtmlTextWriter(new StringWriter(outputBuffer)))
{
    yourDataGrid.RenderControl(writer);
}
outputBuffer.ToString();
1 голос
/ 06 февраля 2009

Вы можете использовать этот подход в своем классе (производный от 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);
}
1 голос
/ 06 февраля 2009

Даже если вы переопределите метод Render и вызовете базовый метод Render, HTML-код будет в потоке.

Возможно, архитектура Control Adapter может помочь вам во всем, что вы пытаетесь достичь?

0 голосов
/ 06 февраля 2009
protected internal override void Render(HtmlTextWriter writer)
{
     /// use HtmlTextWriter to customize your output
}
...