Поделиться через


ClientScriptManager Класс

Определение

Определяет методы для управления клиентскими скриптами в веб-приложениях.

public ref class ClientScriptManager sealed
public sealed class ClientScriptManager
type ClientScriptManager = class
Public NotInheritable Class ClientScriptManager
Наследование
ClientScriptManager

Примеры

В следующем примере кода показано использование RegisterClientScriptBlock метода ClientScriptManager класса . На странице определены два клиентских скрипта: PopupScript, который отображает предупреждающее сообщение при загрузке страницы, и ButtonClickScript, который определяет обработчик клиента для события html-кнопки onClick .

<%@ Page Language="C#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  public void Page_Load(Object sender, EventArgs e)
  {
    // Define the name and type of the client scripts on the page.
    String csname1 = "PopupScript";
    String csname2 = "ButtonClickScript";
    Type cstype = this.GetType();
        
    // Get a ClientScriptManager reference from the Page class.
    ClientScriptManager cs = Page.ClientScript;

    // Check to see if the startup script is already registered.
    if (!cs.IsStartupScriptRegistered(cstype, csname1))
    {
      String cstext1 = "alert('Hello World');";
      cs.RegisterStartupScript(cstype, csname1, cstext1, true);
    }

    // Check to see if the client script is already registered.
    if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
    {
      StringBuilder cstext2 = new StringBuilder();
      cstext2.Append("<script type=\"text/javascript\"> function DoClick() {");
      cstext2.Append("Form1.Message.value='Text from client script.'} </");
      cstext2.Append("script>");
      cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
    }
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    ' Define the name and type of the client scripts on the page.
    Dim csname1 As String = "PopupScript"
    Dim csname2 As String = "ButtonClickScript"
    Dim cstype As Type = Me.GetType()
    
    ' Get a ClientScriptManager reference from the Page class.
    Dim cs As ClientScriptManager = Page.ClientScript

    ' Check to see if the startup script is already registered.
    If (Not cs.IsStartupScriptRegistered(cstype, csname1)) Then
      
      Dim cstext1 As String = "alert('Hello World');"
      cs.RegisterStartupScript(cstype, csname1, cstext1, True)
      
    End If
    
    ' Check to see if the client script is already registered.
    If (Not cs.IsClientScriptBlockRegistered(cstype, csname2)) Then
      
      Dim cstext2 As New StringBuilder()
            cstext2.Append("<script type=""text/javascript""> function DoClick() {")
      cstext2.Append("Form1.Message.value='Text from client script.'} </")
      cstext2.Append("script>")
      cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), False)
      
    End If
    
  End Sub
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head>
    <title>ClientScriptManager Example</title>
  </head>
  <body>
     <form id="Form1"
         runat="server">
        <input type="text" id="Message" /> <input type="button" value="ClickMe" onclick="DoClick()" />
     </form>
  </body>
</html>

Комментарии

Класс ClientScriptManager используется для управления клиентскими скриптами и их добавления в веб-приложения. Ссылку на ClientScriptManager класс можно получить из ClientScript свойства Page объекта .

Клиентский скрипт можно добавить на веб-страницу декларативно, включив скрипт в HTML-разметку страницы. Однако бывают ситуации, когда требуется динамическое добавление клиентского скрипта. Чтобы добавить скрипт динамически, используйте RegisterClientScriptBlock метод, RegisterClientScriptInclude метод, RegisterStartupScript метод или RegisterOnSubmitStatement метод в зависимости от того, когда и как вы хотите добавить скрипт. Дополнительные сведения см. в статье Практическое руководство. Динамическое добавление клиентского скрипта в ASP.NET веб-страниц.

Класс ClientScriptManager уникально идентифицирует скрипты по ключу TypeString и . Скрипты с одним и тем же ключом и типом считаются дубликатами. Использование этого типа скрипта помогает избежать путаницы в похожих сценариях из различных пользовательских элементов управления, которые могут использоваться на странице.

Класс ClientScriptManager можно использовать для вызова обратных вызовов клиента в ситуациях, когда желательно выполнить код сервера из клиента без выполнения обратной передачи. Это называется выполнением внешнего обратного вызова сервера. При обратном вызове клиента функция скрипта клиента отправляет асинхронный запрос на веб-страницу ASP.NET. Веб-страница запускает измененную версию своего обычного жизненного цикла для обработки обратного вызова. Используйте метод , GetCallbackEventReference чтобы получить ссылку на функцию клиента, которая при вызове инициирует обратный вызов клиента к событию сервера. Дополнительные сведения см. в разделе Реализация обратных вызовов клиента без обратной передачи.

Примечание

Обратные вызовы скриптов не будут работать в старых браузерах, которые не поддерживают модель DOM, и для них требуется включить ECMAScript на клиенте. Чтобы проверить, поддерживает ли браузер обратные вызовы, используйте SupportsCallback свойство , доступное Browser через свойство встроенного Request объекта ASP.NET.

GetPostBackEventReference Используйте метод и для GetPostBackClientHyperlink определения события обратной передачи клиента. Эти методы позволяют функциям клиентских скриптов при их вызове заставить сервер вернуться на страницу. Событие обратной передачи клиента отличается от обратного вызова клиента тем, что веб-страница завершает обычный жизненный цикл для обработки события обратной передачи клиента.

Примечание

Если вы используете Button элемент управления и свойству UseSubmitBehavior присвоено значение false, можно использовать GetPostBackEventReference метод для возврата события обратной передачи Button клиента для элемента управления .

Свойство OnClientClick элемента управления, ImageButton элемента управления и LinkButton элемента управления можно использовать для выполнения клиентского Button скрипта.

Методы

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetCallbackEventReference(Control, String, String, String)

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

GetCallbackEventReference(Control, String, String, String, Boolean)

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

GetCallbackEventReference(Control, String, String, String, String, Boolean)

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

GetCallbackEventReference(String, String, String, String, String, Boolean)

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

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetPostBackClientHyperlink(Control, String)

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

GetPostBackClientHyperlink(Control, String, Boolean)

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

GetPostBackEventReference(Control, String)

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

GetPostBackEventReference(Control, String, Boolean)

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

GetPostBackEventReference(PostBackOptions)

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

GetPostBackEventReference(PostBackOptions, Boolean)

Возвращает строку, которая может использоваться в клиентском событии для инициирования обратной передачи серверу. Строка ссылки определяется указанным объектом PostBackOptions. По выбору регистрирует ссылку на событие для проверки.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetWebResourceUrl(Type, String)

Возвращает ссылку URL-адреса на ресурс в сборке.

IsClientScriptBlockRegistered(String)

Определяет, зарегистрирован ли блок клиентского скрипта с объектом Page, используя указанный ключ.

IsClientScriptBlockRegistered(Type, String)

Определяет, зарегистрирован ли блок клиентского скрипта с объектом Page, используя ключ и тип.

IsClientScriptIncludeRegistered(String)

Определяет, зарегистрировано ли включение клиентского скрипта с объектом Page, используя указанный ключ.

IsClientScriptIncludeRegistered(Type, String)

Определяет, зарегистрировано ли включение клиентского скрипта с объектом Page, используя ключ и тип.

IsOnSubmitStatementRegistered(String)

Определяет, зарегистрирован ли оператор OnSubmit с объектом Page, используя указанный ключ.

IsOnSubmitStatementRegistered(Type, String)

Определяет, зарегистрирован ли оператор OnSubmit с объектом Page, используя указанные ключ и тип.

IsStartupScriptRegistered(String)

Определяет, зарегистрирован ли скрипт, активизируемый при запуске, с объектом Page, используя указанный ключ.

IsStartupScriptRegistered(Type, String)

Определяет, зарегистрирован ли скрипт, активизируемый при запуске, с объектом Page, используя указанные ключ и тип.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RegisterArrayDeclaration(String, String)

Регистрирует объявление массива JavaScript с объектом Page, используя имя массива и значение массива.

RegisterClientScriptBlock(Type, String, String)

Регистрирует клиентский скрипт с объектом Page, используя тип, ключ и константу скрипта.

RegisterClientScriptBlock(Type, String, String, Boolean)

Регистрирует клиентский скрипт с объектом Page, используя тип, ключ, константу скрипта и логическое значение, указывающее следует ли добавление тегов скрипта.

RegisterClientScriptInclude(String, String)

Регистрирует клиентский скрипт с объектом Page, используя ключ и URL-адрес, который позволяет вызывать скрипт из клиента.

RegisterClientScriptInclude(Type, String, String)

Регистрирует включение клиентского скрипта с объектом Page, используя тип, ключ и URL-адрес.

RegisterClientScriptResource(Type, String)

Регистрирует ресурс клиентского скрипта с объектом Page, используя тип и имя ресурса.

RegisterExpandoAttribute(String, String, String)

Регистрирует пару "имя-значение" как пользовательский (expando) атрибут указанного элемента управления с указанными идентификатором, именем атрибута и значением атрибута.

RegisterExpandoAttribute(String, String, String, Boolean)

Регистрирует пару "имя-значение" как пользовательский (expando) атрибут указанного элемента управления с указанными идентификатором, именем атрибута, значением атрибута и логическим значением, определяющим, будет ли кодироваться значение атрибута.

RegisterForEventValidation(PostBackOptions)

Регистрирует ссылку на событие для проверки с PostBackOptions.

RegisterForEventValidation(String)

Регистрирует ссылку на событие для проверки с уникальным ИД элемента управления, представляющим клиентский элемент управления, генерирующий событие.

RegisterForEventValidation(String, String)

Регистрирует ссылку на событие для проверки с уникальным ИД элемента управления, представляющим клиентский элемент управления, генерирующий событие, и аргументами события.

RegisterHiddenField(String, String)

Регистрирует скрытое значение с объектом Page.

RegisterOnSubmitStatement(Type, String, String)

Регистрирует оператор OnSubmit с объектом Page, используя тип, ключ и константу скрипта. Оператор выполняется, если HtmlForm представляется на рассмотрение.

RegisterStartupScript(Type, String, String)

Регистрирует скрипт, активизируемый при запуске, с объектом Page, используя тип, ключ и константу скрипта.

RegisterStartupScript(Type, String, String, Boolean)

Регистрирует клиентский скрипт с объектом Page, используя тип, ключ, константу скрипта и логическое значение, указывающее следует ли добавлять теги скрипта.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
ValidateEvent(String)

Проверяет клиентское событие, зарегистрированное для проверки, используя метод RegisterForEventValidation(String).

ValidateEvent(String, String)

Проверяет клиентское событие, зарегистрированное для проверки, используя метод RegisterForEventValidation(String, String).

Применяется к

См. также раздел