本文主要對(duì)ASP.NET 2.0中客戶端腳本的使用方法進(jìn)行一個(gè)簡(jiǎn)單的總結(jié)性概述。
1.使用OnClientClick屬性打開客戶端腳本,使用方法如下:
js腳本:
<script language="javascript" type="text/javascript"> function opensite() ...{ window.open(" return true; } </script>
調(diào)用方法:
<asp:Button ID="Button1" OnClientClick="opensite()" runat="server" Text="打開站點(diǎn)" /> 2.動(dòng)態(tài)注冊(cè)js腳本,下面介紹一下以下四個(gè)方法的含義與使用:
以下幾種方法都是派生自ClientScriptManager類,研究一下里面有幾十個(gè)方法,而且有些重載了.我拿最常用的方法講一下.
1) RegisterClientScriptBlock方法:將js區(qū)塊添加到頁(yè)面頂端,你可以以字符串形式創(chuàng)建這些js代碼,然后將它傳遞給添加網(wǎng)頁(yè)的方法。其對(duì)應(yīng)的包含方法IsClientScriptBlockRegistered()
使用方法如下:
//動(dòng)態(tài)創(chuàng)建js文件 string info = ""; info += "function showName(UserName)"; info += "{alert(’你的名字是:’+UserName);}"; // 判斷myName是否已經(jīng)被注冊(cè) if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "myName")) ...{ //動(dòng)態(tài)注冊(cè)js Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myName", info, true); }
注意:可以查看一下生成頁(yè)面的代碼究竟怎樣的?
2)RegisterClientScriptInclude方法:通過(guò)外部添加引用js腳本。其對(duì)應(yīng)的包含方法IsClientScriptIncludeRegistered()
假如有一段這樣的info.js腳本,如下所示:
function showCity(City) ...{ alert("我愛我的:"+City); }
引用它的例子,如下:
//動(dòng)態(tài)注冊(cè)info.js的javascript文件 //判斷是否已被注冊(cè) if (!ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "myMessage")) ...{ //若沒有被注冊(cè),剛將Info.js動(dòng)態(tài)注冊(cè) Page.ClientScript.RegisterClientScriptInclude("myMessage", "js/info.js"); }
注意一下每一個(gè)方法的參數(shù)就可以了。
3)RegisterStartupScript方法:將js區(qū)塊添加當(dāng)網(wǎng)頁(yè)完成加載,但是在引發(fā)網(wǎng)頁(yè)的onload事件之前,就會(huì)執(zhí)行。其對(duì)應(yīng)的包含方法IsStartupScriptRegistered。
使用它的例子如下:
string info = " "; if (!Page.ClientScript.IsStartupScriptRegistered("welcome")) ...{ Page.ClientScript.RegisterStartupScript(this.GetType(), "welcome", info); }
4)RegisterOnSubmitStatement方法:添加執(zhí)行以響應(yīng)網(wǎng)頁(yè)onsubmit事件的js。其對(duì)應(yīng)的包含方法IsOnSubmitStatementRegistered。
使用它的例子如下:
string info = "return confirm(’你確認(rèn)刪除?’);"; if (!Page.ClientScript.IsOnSubmitStatementRegistered(this.GetType(), "myPage")) ...{ Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "myPage", info); }
注意一下這里不用另外加 <script>標(biāo)簽,因?yàn)橄到y(tǒng)已經(jīng)幫你生成好了。
|