分享

ASP.NET 2.0中客户端脚本的使用方法

 悟静 2011-09-29
本文主要对ASP.NET 2.0客户端脚本的使用方法进行一个简单的总结性概述。

  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="打开站点" /> 

  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); 
  } 

  注意一下这里不用另外加 <script>标签,因为系统已经帮你生成好了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多