Render webcontrol to string

H

Henrik Stidsen

I need to get the HTML output from a webcontrol as a string instead of
it being rendered on the page.

I have the following code:
Dim SiteMapSource As New SiteMapDataSource()


Dim TreeView1 As New TreeView()
TreeView1.DataSource = SiteMapSource
TreeView1.ShowExpandCollapse = True
TreeView1.ExpandDepth = 1
TreeView1.DataBind()


Dim sb As System.Text.StringBuilder = New System.Text.StringBuilder()
Using tw As System.IO.StringWriter = New System.IO.StringWriter(sb)
Using hw As System.Web.UI.HtmlTextWriter = New
System.Web.UI.HtmlTextWriter(tw)
TreeView1.RenderControl(hw)
Response.Write(sb.ToString())
End Using
End Using

The line with TreeView1.RenderControl(hw) throws a
NullReferenceException with a almost unusable stacktrace:
[NullReferenceException: Object reference not set to an instance of an
object.]
System.Web.UI.Control.get_SpacerImageUrl() +59
System.Web.UI.WebControls.TreeView.RenderBeginTag(HtmlTextWriter
writer) +146
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer)
+17
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer,
ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer,
ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
SiteMapTest.Page_Load(Object sender, EventArgs e) in
D:\TreeView.aspx.vb:25
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean
includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
+1061

The weird part is that it works fine if I do
Page.Form.Controls.add(TreeView1) AND it works fine if I use a button
or even a Calendar control...

So, why does TreeView throw a NullReference when asked to render itself
?
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,534
Members
45,007
Latest member
obedient dusk

Latest Threads

Top