【问题标题】:asp telerik treeView throws an exception when trying to renderControlasp telerik treeView 在尝试 renderControl 时抛出异常
【发布时间】: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


【解决方案1】:

您尝试执行的操作看起来目前不受支持。虽然这个问题是关于 Asp.NET ColorPicker 控件的,但我相信它也适用于 RadTreeView 控件。

通过Telerik Support Center

问: 有没有办法让 ColorPicker 在没有页面的情况下呈现?一世 必须在我直接在aspx中编写的情况下添加它,而不是 aspx.cs。此外,我可能需要从通用处理程序 ashx 执行此操作。是 这可能吗?

答: 控件需要添加到页面中,要么在其标记中,要么在 它的代码隐藏。您可以尝试 RenderControl 方法并写入 Response.OutputStream,但这不是一个受支持的场景,它 无法保证成功,因此我建议不要进行此类尝试。

问候,
马林
Telerik 团队

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-23
    • 2015-07-16
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多