f9inux的专栏

无声的海浪

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 = "<script language="javascript">alert("Hello  DotNet!")</script>";
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>标签,因为系统已经帮你生成好了。

阅读更多
上一篇实现WEB站点的后台定时任务
下一篇Response.Redirect 打开新窗口的两种方法
想对作者说点什么? 我来说一句

ASP.NET 2.0客户端回调实例代码

2008年05月20日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭