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