Пошаговое руководство. Добавление клиентского сценария динамически на веб-страницы ASP.NET
Обновлен: Ноябрь 2007
При помощи серверного кода можно добавлять клиентский сценарий на страницу. Создание клиентского сценария полезно, когда содержимое клиентского сценария зависит от информации, недоступной во время выполнения. Динамическое добавление клиентского сценария на страницу также полезно, если необходимо выполнение клиентского сценария в следующих ситуациях:
Когда страница загружена
Когда пользователи отправляют страницу
Примечание. Можно также добавить события клиентского сценария, такие как onmouseover и onkeyup в индивидуальные элементы управления. Дополнительные сведения см. в разделе Практическое руководство. Добавление событий клиентского сценария в серверные веб-элементы управления ASP.NET.
Чтобы динамически добавить клиентский сценарий на веб-страницу ASP.NET
В серверном коде вызовите один из методов, перечисленных в следующей таблице.
Метод
Описание
Добавляет блокировку сценария в начало коллекции. Создайте сценарий как строку и затем передайте его методу, который добавит его на страницу. Этот метод можно использовать для вставки любого сценария на страницу. Обратите внимание, что сценарий может находиться на странице перед тем, как все элементы окончены, следовательно, возможно, нельзя сослаться на все элементы на странице из сценария.
Похоже на метод RegisterClientScriptBlock, но добавляет блокировку сценария, который ссылается на внешний файл .js. Включенный файл добавлен перед всеми остальными динамически добавленными сценариями, следовательно, нельзя ссылаться на некоторые элементы на странице.
Добавьте на страницу блокировку сценария, которая выполняется, когда страница уже загружена, но перед возникновением события onload. Сценарий обычно создается не как обработчик событий или функция, он обычно включает только операторы, которые необходимо выполнить.
Добавьте сценарий, который выполняется в ответ на событие 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