В ASP.NET 2.0 класс ClientScriptManager однозначно идентифицирует сценарий с помощью ключей String и Type. Скрипты с одинаковым ключом и типом считаются дубликатами скриптов. Таким образом, мы можем использовать типы сценариев, чтобы не путать похожие сценарии из разных пользовательских элементов управления, которые могут использоваться на странице. <html>
<голова>
<title>Пример ClientScriptManager</title>
</голова>
<тело>
<form id="Форма1"
runat="сервер">
<input type="text" id="Message"> <input type="button" value="ClickMe" onclick="DoClick()">
</форма>
</тело>
</html>
1 <%@ Page Language="C#"%>
2 <script runat="server">
3 public void Page_Load (отправитель объекта, EventArgs e)
4 {
5 // Определить тип и имя клиентского скрипта
6 String csname1 = "PopupScript";
7 String csname2 = "ButtonClickScript";
8 Введите cstype = this.GetType();
9
10 // Создание экземпляра нового класса клиентского сценария
11 ClientScriptManager cs = Page.ClientScript;
12
13 //Регистрируем сценарий запуска клиента для отображения предупреждающего сообщения клиента при загрузке страницы.
14, если (!cs.IsStartupScriptRegistered(cstype, csname1))
15 {
16 String cstext1 = "alert('Hello World');";
17 cs.RegisterStartupScript(cstype, csname1, cstext1, true);
18}
19
20 // Регистрируем скрипт выполнения клиента и определяем обработчик клиента для события onClick кнопки HTML
21 if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
двадцать два {
23 StringBuilder cstext2 = новый StringBuilder();
24 cstext2.Append("<тип сценария=text/javascript> function DoClick() {");
25 cstext2.Append("Form1.Message.value='Текст из клиентского скрипта.'} </");
26 cstext2.Append("script>");
27 cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
28 }
29 }
30 </скрипт>