Asp.Net 2.0的TreeView执行RenderControl方法时会出错?

SeeMyWorld 2007-02-05 12:22:48
请问有没有人会解决这个问题?

我的源代码如下:
System.Web.UI.WebControls.TreeView tree = new TreeView();
this.InitializePostNodes(tree.Nodes, table, (int)topic["tid"], topPostID);
System.IO.StringWriter writer = new System.IO.StringWriter();
tree.SkipLinkText = "";
tree.RenderControl(new HtmlTextWriter(writer));

错误信息如下:
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 49: System.IO.StringWriter writer = new System.IO.StringWriter();
Line 50: tree.SkipLinkText = "";
Line 51: tree.RenderControl(new HtmlTextWriter(writer));
Line 52: this.Response.Write(writer);
Line 53:


Source File: h:\Websites\show.aspx Line: 51

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
System.Web.UI.WebControls.TreeView.GetImageUrl(Int32 index) +5656
System.Web.UI.WebControls.TreeNode.Render(HtmlTextWriter writer, Int32 position, Boolean[] isLast, Boolean enabled) +2472
System.Web.UI.WebControls.TreeView.RenderContents(HtmlTextWriter writer) +487
System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +29
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
ASP.aspx_1_showforum_aspx.WriteTreeRow(DataRow topic) in h:\Websites\show.aspx:51
ASP.aspx_1_showforum_aspx.OnInit(EventArgs e) in h:\Websites\show.aspx:1043
System.Web.UI.Control.InitRecursive(Control namingContainer) +321
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +692


...全文
328 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
悦铉 2011-09-08
  • 打赏
  • 举报
回复
是,遇到同样问题了。很奇怪。把treeview换成 button就没事
ktv102 2011-08-30
  • 打赏
  • 举报
回复
Object reference not set to an instance of an object

System.Web.UI.WebControls.TreeView tree = new TreeView();
this.InitializePostNodes(tree.Nodes, table, (int)topic[ "tid "], topPostID);
System.Text.StringBuilder sb = new System.Text.StringBuilder();
System.IO.StringWriter writer= new System.IO.StringWriter(sb);
tree.SkipLinkText = " ";
tree.RenderControl(new HtmlTextWriter(writer));
binbin2000 2007-06-06
  • 打赏
  • 举报
回复
遇到同样问题了。
SeeMyWorld 2007-02-05
  • 打赏
  • 举报
回复
这一行完全是调用System.Web.dll的
hertcloud 2007-02-05
  • 打赏
  • 举报
回复
tree.RenderControl(new HtmlTextWriter(writer));
这一行有错?
你单步 调试跟踪进去 看看 是那里出的错
SeeMyWorld 2007-02-05
  • 打赏
  • 举报
回复
不是的,你可以试试执行这几行

System.Web.UI.WebControls.TreeView tree = new TreeView();

System.IO.StringWriter writer = new System.IO.StringWriter();

tree.RenderControl(new HtmlTextWriter(writer));
winner2050 2007-02-05
  • 打赏
  • 举报
回复
(int)topic["tid"]这个为null值错误的可能性大些
winner2050 2007-02-05
  • 打赏
  • 举报
回复
Object reference not set to an instance of an object
======================================
未引用对象到实例
flyin2006 2007-02-05
  • 打赏
  • 举报
回复
Object reference not set to an instance of an object
感觉什么引用不是实体 哈
wshuangminlg 2007-02-05
  • 打赏
  • 举报
回复
确实有这个问题,应该是一个BUG.
我以前也遇到过,google了一下国外论坛,这个问题也解决不了

62,252

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧