ASP.NET 2.0中客户端脚本总结

本文介绍ASP.NET中四种JS集成方式:使用OnClientClick属性、动态注册JS区块、通过外部添加引用JS脚本及添加响应onsubmit事件的JS。具体演示了如何在服务器端控制客户端脚本的执行。
部署运行你感兴趣的模型镜像

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>标签,因为系统已经帮你生成好了。

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值