Общие сведения об элементе управления ScriptManager

Visual Studio 2010

Обновлен: Ноябрь 2007

Элемент управления ScriptManager управляет клиентским сценарием для веб-страниц ASP.NET, поддерживающих технологию AJAX. По умолчанию элемент управления ScriptManager регистрирует сценарий для Microsoft AJAX (библиотека) на странице. Это позволяет клиентскому сценарию использовать расширения системы типов и поддерживать такие возможности, как частичная отрисовка страницы и вызовы веб-службы.

В этом разделе содержатся следующие подразделы:

На странице должен использоваться элемент управления ScriptManager, чтобы активировать следующие возможности AJAX ASP.NET:

  • Функциональность клиентского сценария Microsoft AJAX (библиотека) и любой пользовательский сценарий, который нужно отправить веб-обозревателю. Дополнительные сведения см. в разделе Создание пользовательского клиента сценария с помощью библиотеки Microsoft AJAX.

  • Частичную отрисовку страницы, которая позволяет независимо обновлять области страницы без обратной передачи. Элементы управления ASP.NET UpdatePanel, UpdateProgress и Timer требуют наличия элемента управления ScriptManager для поддержки частичной отрисовки страницы.

  • Прокси-классы JavaScript для веб-служб, которые позволяют использовать клиентский сценарий для доступа к веб-службам и особым образом помеченным методам на страницах ASP.NET. Это выполняется посредством отображения веб-служб и методов страницы как строго типизированных объектов.

  • Классы JavaScript для доступа к службам проверки подлинности ASP.NET, управления ролями и профилей приложений.

Если страница содержит один или несколько элементов управления UpdatePanel, то элемент управления ScriptManager управляет частичной отрисовкой страницы в обозревателе. Элемент управления взаимодействует с жизненным циклом страницы для обновления частей страницы, которые находятся внутри элементов управления UpdatePanel. Дополнительные сведения см. в разделе Общие сведения о частичной отрисовке страниц.

Свойство EnablePartialRendering элемента управления ScriptManager определяет, участвует ли страница в частичных обновлениях. По умолчанию свойство EnablePartialRendering имеет значение true. Таким образом, по умолчанию частичная отрисовка страницы активируется при добавлении на страницу элемента управления ScriptManager. Дополнительные сведения о том, как использовать элемент управления UpdatePanel с элементом управления ScriptManager см. в разделах Знакомство с элементом управления UpdatePanel и Создание простой страницы ASP.NET с несколькими элементами управления UpdatePanel.

Обработка ошибок при частичной отрисовке страницы

Во время частичной отрисовки страницы ошибки можно обрабатывать следующим образом:

  • Задайте свойство AllowCustomErrorsRedirect. Оно определяет, как используется пользовательский раздел ошибок файла Web.config при возникновении ошибки в ходе асинхронной обратной передачи.

  • Обработайте событие AsyncPostBackError элемента управления ScriptManager, которое возникает при наличии ошибки в ходе асинхронной обратной передачи.

  • Задайте свойство AsyncPostBackErrorMessage, которое является сообщением об ошибке, отправляемым обозревателю.

Использование расширений системы типов

Microsoft AJAX (библиотека) добавляет расширения системы типов к JavaScript, предоставляющих пространства имен, наследование, интерфейсы, перечисления, отражение и вспомогательные функции для строк и массивов. Эти расширения предоставляют функции в клиентском сценарии, сходные с .NET Framework. Они позволяют писать ASP.NET AJAX совместимые приложения структурированным способом, что облегчает последующую поддержку приложений, добавление новых функций и разнесение функциональности по слоям. Добавление элемента управления ScriptManager на веб-страницу ASP.NET автоматически включает расширения системы типов, поэтому можно использовать библиотеку в клиентском сценарии. Дополнительные сведения см. в разделе Создание пользовательского клиента сценария с помощью библиотеки Microsoft AJAX.

Регистрация пользовательского сценария

Используйте элемент управления ScriptManager для управления ресурсами, созданными для элементов управления, участвующих в частичных обновлениях страниц. Ресурсы включают сценарии, стили, скрытые поля и массивы. Коллекция Scripts элемента управления ScriptManager содержит объект ScriptReference для каждого сценария, доступного обозревателю. Сценарии можно определять принудительно или программными средствами.

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

Bb398863.alert_note(ru-ru,VS.100).gifПримечание.

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

Список методов регистрации элементов управления ClientScriptManager см. в разделе Создание пользовательского клиента сценария с помощью библиотеки Microsoft AJAX и общих сведениях о классе ClientScriptManager.

Регистрация веб-служб

Чтобы зарегистрировать веб-службу, которую нужно вызвать со страницы ASP.NET, поддерживающей AJAX, необходимо зарегистрировать веб-службу, добавив ее в коллекцию Services элемента управления ScriptManager. Платформа ASP.NET AJAX создает клиентский прокси-объект для каждого объекта ServiceReference в коллекции Services. Прокси-классы и их строго типизированные члены упрощают использование веб-служб из клиентского сценария.

Можно программно добавлять объекты ServiceReference к коллекции Services для регистрации веб-служб во время выполнения. Дополнительные сведения см. в разделе Веб-службы в ASP.NET AJAX.

Использование служб проверки подлинности, профилей и ролей из клиентского сценария

Microsoft AJAX (библиотека) включает прокси-классы для вызова служб приложений ASP.NET 2.0, отвечающих за проверку подлинности с помощью форм, взаимодействие с ролями и профилями, непосредственно из JavaScript. При необходимости использовать пользовательскую службу проверки подлинности можно зарегистрировать ее при помощи элемента управления ScriptManager. Дополнительные сведения см. в разделах Использование проверки подлинности с помощью форм в ASP.NET AJAX, Использование сведений о профиле с ASP.NET AJAX и Использование информации ролей с помощью ASP.NET AJAX.

Класс ScriptManagerProxy

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

Примеры приложений AJAX

Пошаговое руководство. Создание веб-узла с поддержкой AJAX

Пошаговое руководство. Глобализация даты с использованием клиентского сценария

Создание пользовательского клиента сценария с помощью библиотеки Microsoft AJAX

Пошаговое руководство. Создание и использование веб-службы с поддержкой AJAX

Знакомство с элементом управления UpdatePanel

Знакомство с элементом управления UpdateProgress

Пошаговое руководство. Общие сведения об элементе управления Timer

Динамическое присваивание ссылок на сценарии

Создание управляющего элемента-расширителя для связи клиентского расширения функциональности с серверным веб-элементом управления

Добавление клиентских возможностей серверным веб-элементам управления

Создание пользовательских клиентских элементов управления AJAX

Создание настраиваемых невизуальных клиентских компонентов

Класс

Описание

ScriptManager

Серверный элемент управления, который предоставляет обозревателю доступ к ресурсам сценариев, включающим Microsoft AJAX (библиотека) и функции, позволяющие проводить частичную отрисовку страницы.

ScriptManagerProxy

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

Показ: