在ASP.NET2.0中,ClientScriptManager 類別透過鍵String 和Type 唯一地識別腳本。具有相同的鍵和類型的腳本被視為重複腳本。因此,我們可以使用腳本類型來避免混淆可能用在頁中的來自不同使用者控制項的相似腳本。 <html>
<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>
1 <%@ Page Language="C#"%>
2 <script runat="server">
3 public void Page_Load(Object sender, EventArgs e)
4 {
5 // 定義客戶端腳本類型和名稱
6 String csname1 = "PopupScript";
7 String csname2 = "ButtonClickScript";
8 Type cstype = this.GetType();
9
10 // 實例化客戶端腳本新類
11 ClientScriptManager cs = Page.ClientScript;
12
13 // 註冊客戶端起始腳本,在載入頁時顯示客戶端警報訊息
14 if (!cs.IsStartupScriptRegistered(cstype, csname1))
15 {
16 String cstext1 = "alert('Hello World');";
17 cs.RegisterStartupScript(cstype, csname1, cstext1, true);
18 }
19
20 // 註冊客戶端執行腳本,定義HTML 按鈕的onClick 事件的客戶端處理程序
21 if (!cs.IsClientScriptBlockRegistered(cstype, csname2))
22 {
23 StringBuilder cstext2 = new StringBuilder();
24 cstext2.Append("<script type=text/javascript> function DoClick() {");
25 cstext2.Append("Form1.Message.value='Text from client script.'} </");
26 cstext2.Append("script>");
27 cs.RegisterClientScriptBlock(cstype, csname2, cstext2.ToString(), false);
28 }
29 }
30 </script>