1.使用OnClientClick属性打开客户端脚本,使用方法如下:
js脚本:
以下是引用片段: <script language="javascript" type="text/javascript"> function opensite() ...{ window.open("http://www.cnblogs.com"); return true; } </script> |
调用方法:
以下是引用片段: |
2.动态注册js脚本,下面介绍一下以下四个方法的含义与使用:
以下几种方法都是派生自ClientScriptManager类,研究一下里面有几十个方法,而且有些重载了.我拿最常用的方法讲一下.
1) RegisterClientScriptBlock方法:将js区块添加到页面顶端,你可以以字符串形式创建这些js代码,然后将它传递给添加网页的方法。其对应的包含方法IsClientScriptBlockRegistered()
使用方法如下:
以下是引用片段: //动态创建js文件 string info = ""; info += "function showName(UserName)"; info += "{alert(’你的名字是:’+UserName);}"; // 判断myName是否已经被注册 if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "myName")) ...{ //动态注册js Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "myName", info, true); } |
注意:可以查看一下生成页面的代码究竟怎样的?
2)RegisterClientScriptInclude方法:通过外部添加引用js脚本。其对应的包含方法IsClientScriptIncludeRegistered()
假如有一段这样的info.js脚本,如下所示:
以下是引用片段: function showCity(City) ...{ alert("我爱我的:"+City); } |
引用它的例子,如下:
以下是引用片段: //动态注册info.js的javascript文件 //判断是否已被注册 if (!ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "myMessage")) ...{ //若没有被注册,刚将Info.js动态注册 Page.ClientScript.RegisterClientScriptInclude("myMessage", "js/info.js"); } |
注意一下每一个方法的参数就可以了。
3)RegisterStartupScript方法:将js区块添加当网页完成加载,但是在引发网页的onload事件之前,就会执行。其对应的包含方法IsStartupScriptRegistered。
使用它的例子如下:
以下是引用片段: string info = " "; if (!Page.ClientScript.IsStartupScriptRegistered("welcome")) ...{ Page.ClientScript.RegisterStartupScript(this.GetType(), "welcome", info); } |
4)RegisterOnSubmitStatement方法:添加执行以响应网页onsubmit事件的js。其对应的包含方法IsOnSubmitStatementRegistered。
使用它的例子如下:
以下是引用片段: string info = "return confirm(’你确认删除?’);"; if (!Page.ClientScript.IsOnSubmitStatementRegistered(this.GetType(), "myPage")) ...{ Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "myPage", info); } |