Как определить, нужен ли на странице Asp.net Scriptmanager - PullRequest
2 голосов
/ 22 апреля 2011

Есть ли простой способ определить, есть ли элемент управления на странице, для которого требуется менеджер сценариев? Я добавляю менеджер сценариев на каждую страницу (что прекрасно работает) в моей инициализации страницы, но кажется, что есть лучший способ, чем просто заставить каждую страницу иметь менеджер сценариев. Возможно, на 1 из 4 страниц есть панели обновления или какой-то расширитель. Или это не слишком большая нагрузка и просто не беспокоиться об этом?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2011

Используйте наследование в ваших интересах . Создайте некоторый класс ScriptManagerPageBase, чей метод PageInit вызывает новый ScriptManager. Для каждой страницы, для которой требуется ваш ScriptManager, например, для использования элемента управления UpdatePanel, просто наследуйте эту страницу от ScriptManagerPageBase, и вы получите эту функциональность только тогда, когда вам это нужно, без необходимости дублировать код.

1 голос
/ 22 апреля 2011

На вашей главной странице (или базовой странице в зависимости от вашего подхода, я рекомендую главные страницы ..) просто добавьте менеджер сценариев.Если в этом нет необходимости, это не повлияет на страницу во время выполнения.Затем добавьте прокси-сервер scriptmanager на каждую страницу или элемент управления, которому требуется менеджер сценариев.Во время выполнения прокси найдет базовый или главный менеджер и зарегистрирует любые ранее незарегистрированные скрипты.См. MSDN SCRIPTMANAGERPROXY описание

...