asp telerik treeView выдает исключение при попытке рендеринга Control

Я работаю над TreeView и должен выполнить метод renderControl(). Когда он срабатывает, он выдает исключение: InvalidOperationException: страница не может быть нулевой. Убедитесь, что эта операция выполняется в контексте запроса 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 ответ

Решение

То, что вы пытаетесь сделать, похоже, не поддерживается в настоящее время. Хотя этот вопрос касается Asp.NET ColorPicker контроль, я считаю, что это относится к RadTreeView контроль также.

Через Центр поддержки Telerik:

В: Есть ли способ заставить ColorPicker отображаться без страницы? Мне пришлось добавить его в ситуации, когда я пишу непосредственно в aspx, а не aspx.cs. Кроме того, мне может понадобиться сделать это из общего обработчика, ashx. Это возможно?

A: Элемент управления должен быть добавлен на страницу, либо в разметке, либо в ее коде. Вы можете попробовать метод RenderControl и записать в Response.OutputStream, но это не поддерживаемый сценарий, и его успех не может быть гарантирован, поэтому я советую против таких попыток.

С Уважением,
Marin
команда Telerik

Другие вопросы по тегам