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


Пошаговое руководство. Добавление клиентского сценария динамически на веб-страницы ASP.NET

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

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

Чтобы динамически добавить клиентский сценарий на веб-страницу ASP.NET

  • В серверном коде вызовите один из методов, перечисленных в следующей таблице.

    Метод

    Описание

    RegisterClientScriptBlock

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

    RegisterClientScriptInclude

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

    RegisterStartupScript

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

    RegisterOnSubmitStatement

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

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

    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs)
        Dim scriptText As String
        scriptText = "return confirm('Do you want to submit the page?')"
        ClientScript.RegisterOnSubmitStatement(Me.GetType(), _
            "ConfirmSubmit", scriptText)
    End Sub
    
protected void Page_Load(Object sender, EventArgs e)
{
    String scriptText = 
        "return confirm('Do you want to submit the page?')";
    ClientScript.RegisterOnSubmitStatement(this.GetType(), 
        "ConfirmSubmit", scriptText);
}

См. также

Задачи

Практическое руководство. Добавление событий клиентского сценария в серверные веб-элементы управления ASP.NET

Основные понятия

Клиентский сценарий на веб-страницах ASP.NET

Программная реализация обратных вызовов клиента без обратной передачи в веб-страницы ASP.NET