terça-feira, 20 de maio de 2008

Rendering WebControl In String

Precisei renderizar um GridView para dentro de uma variável String. Segue o código...
Using _frm As New HtmlForm

'Para recupera o conteudo, preciso renderizar o
'controle para um TextWriter.
Dim sbResumoRenderizado As New StringBuilder
Dim _objHtmlTextWriter As New HtmlTextWriter( _
New IO.StringWriter(sbResumoRenderizado))

'Para renderizar um Form, é necessário
'uma página.
'Caso contrário o seguinte erro é apresentado:
' "HtmlForm cannot render without a reference
' to the Page instance"
Me.Page.Controls.Add(_frm)

'Adiciono ao form os controles que
'serão renderizados.
With _frm.Controls
Call .Clear()
Call .Add(GridView1)
End With

'Renderizo o formulário
_frm.RenderControl(_objHtmlTextWriter)

strTexto &= sbResumoRenderizado.ToString
End Using

Nenhum comentário: