Программно предотвратить рендеринг сценариев ASP .NET AJAX - PullRequest
0 голосов
/ 11 марта 2009

Кто-нибудь знает, как я могу остановить рендеринг всех скриптов .NET AJAX, даже если на странице существует ScriptManager?

Свойство Visible в ScriptManager было переопределено и отключено, поэтому вы получаете исключение NotImplementedException при попытке установить свойство Visible.

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

Редактировать: Я на самом деле использую RadrikManager Telerik с RadAjax, на случай, если кто-нибудь знает метод, использующий эти классы вместо этого.

Ответы [ 4 ]

2 голосов
/ 11 мая 2009

Посмотрите на Бертрана Лероя "Использование ScriptManager с другими фреймворками"

http://weblogs.asp.net/bleroy/archive/2008/07/07/using-scriptmanager-with-other-frameworks.aspx

Содержит элемент управления, унаследованный от ScriptManager, который отменяет некоторые из его встроенных скриптовых дополнений и позволяет вам заменить его на любой фреймворк, который вам нравится.

1 голос
/ 11 марта 2009

Вместо того, чтобы использовать его в качестве фактического элемента управления на главной странице, создайте его экземпляр и добавьте его на страницу при необходимости; возможно, даже есть свойство на главной странице, которое контролирует, будет ли оно включено.

0 голосов
/ 16 декабря 2009

Я решил аналогичную проблему, а именно: программным путем или исключение HoverMenuExtender из Ajax Control Toolkit, поместив его в тег , который позволяет установить его Видимый свойство в коде позади. Если заполнитель невидим, он не будет отображаться на странице, включая все дочерние элементы управления. Не пробовал его с ScriptManager, но он мог бы работать и здесь.

Ура, Оливер

0 голосов
/ 11 марта 2009

Опция, которую вы можете проверить, может использовать блок ScriptManager CompositeScript . Таким образом, вы можете объединить их все в 1 вызов скриптового ресурса из кэша браузера. Вы также можете добавить в этот блок любые другие распространенные сценарии.

Есть скринкаст об этом, я использовал его раньше, и, кажется, он работает довольно хорошо.

...