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