Метод RadToolTip RenderControl - PullRequest
       7

Метод RadToolTip RenderControl

0 голосов
/ 17 января 2012

У меня есть приложение asp.net, которое использует каркас веб-части, чтобы позволить пользователям настраивать их интерфейс.Одной из особенностей этого является каталог доступных веб-частей, один предоставляется по умолчанию, но его можно переопределить, если вы хотите изменить макет и т. Д.

override void RenderCatalogPart(HtmlTextWriter writer, CatalogPart catalogPart)

Это, насколько ямогу сказать, это единственный способ сделать это.На данный момент я создаю панель со всеми необходимыми элементами и использую метод панели RenderControl для вывода ее на htmlwriter.Все идет нормально.Проблема возникает, когда я пытаюсь добавить radtooltip к моей панели, используя тот же метод RenderControl, и я получаю следующую ошибку времени выполнения:

Страница не может быть нулевой.Убедитесь, что эта операция выполняется в контексте запроса ASP.NET.

Я могу понять, почему это может быть проблемой, поскольку подсказка предположительно использует javascript и должна записать ее на страницу, нометод RenderCatalogPart не знает, на какую страницу он будет выводиться.Есть ли какой-нибудь способ обойти это, или я собираюсь придумать альтернативу?

Я разместил это на сайте telerik, но я хотел бы спросить здесь также, если у кого-нибудь есть какие-либо идеи.

Спасибо.

Ответы [ 2 ]

1 голос
/ 17 января 2012

Для элементов управления Telerik ASP.NET требуется элемент управления MS AJAX ScriptManager.Я полагаю, именно поэтому они хотят получить доступ к странице - чтобы получить ссылку на ScriptManager.Попробуйте установить для свойства RegisterWithScriptManager всплывающей подсказки значение false и посмотрите, будет ли отображаться элемент управления.

0 голосов
/ 23 января 2012

Проблема заключается в том, что всплывающие подсказки должны быть созданы и добавлены в PreRender в качестве элементов управления, чтобы он мог добавить свой сценарий в ScriptManager.

Создание коллекции всплывающих подсказок в методе PreRender () и последующая запись их в httpwriter, как показано выше в RenderCatalogPart, устраняет проблему.

...