【发布时间】:2012-07-12 16:00:18
【问题描述】:
我正在处理 TreeView 并且必须执行 renderControl() 方法。当它触发时,它会给出一个异常:InvalidOperationException: Page cannot be null。请确保在 ASP.NET 请求的上下文中执行此操作。
我有以下代码什么时候会注释错误在哪里:
try{
StringWriter writer = new StringWriter();
HtmlTextWriter tOut = new HtmlTextWriter(writer);
ddFieldFilter.RenderControl(tOut); //This doesnt error.
tvFields = new RadTreeView();
tvFields.NodeExpand += new RadTreeViewEventHandler(tvFields_NodeExpand);
tvFields.NodeClick += new RadTreeViewEventHandler(tvFields_NodeClick);
startTree();
tvFields.RenderControl(tOut); //Errors here.
String context = writer.toString();
}catch(Exception e){
throw new Exception("Error Loading Page: " + e.Message);
}
您认为这可能是因为作者中当前有内容吗?我正在考虑将其清除或刷新到字符串然后重建它。我不确定它是否会附加到当前缓冲区
如果您需要更多信息,请告诉我
【问题讨论】:
-
这段代码在你页面的什么地方被执行?
-
我要做的是控制和 .toString() 它来获取标记,然后将标记传递给客户端机器。然后在客户端,重构客户端/服务器连接
-
它在webservice方法中执行,它在服务器端构建它,然后将标记推送到客户端。
-
我认为不支持您尝试做的事情。见here。
-
感谢您的信息。我会找到一种不同的方式来完成任务。如果你把它作为答案,我会接受它。\
标签: c# asp.net user-controls telerik stringwriter