尝试renderControl时,asp telerik treeView会抛出异常

时间:2012-07-12 16:00:19

标签: c# asp.net user-controls telerik stringwriter

我正在使用TreeView并且必须执行renderControl()方法。当它触发时,它会给出一个异常:InvalidOperationException:Page不能为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);
}

你认为这可能是因为作者目前有内容吗?我正在考虑清除或将其刷新到字符串然后重建它。我不确定它会附加到当前缓冲区

如果您需要其他信息,请与我们联系

1 个答案:

答案 0 :(得分:1)

您尝试做的事情看起来并不像目前支持的那样。虽然这个问题与Asp.NET ColorPicker控件有关,但我相信它也适用于RadTreeView控件。

通过Telerik Support Center

  

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

     

A:   需要将控件添加到页面中,无论是在其标记中还是在   它的代码隐藏。您可以尝试使用RenderControl方法并写入   Response.OutputStream,但这不是受支持的场景   成功无法得到保证,所以我建议不要这样做。

     

的问候,
  马林
  Telerik团队