使用ASP.NET建立并控制客户端脚本的四种方法

 ASP.NET属于客户端技术。使用Server端技术实现对Client端脚本的动态控制是早在ASP时代就备受关注的话题。评价每种新的Server端技术都需要对其控制Client脚本的能力进行考察。       ASP.NET使用客户端脚本有四种方法,以下将分别介绍并进行对比:
1.Page.Response.Write

代码:Page.Response.Write("<script>alert('ss');</script>");

       这是ASP程序员最好理解的一种方法。这里与ASP中的Response.Write一样,都是直接用于在客户端显示某些内容。当然,也包括JS脚本。
       这种方法生成的js代码位于整个文档的最开始,整个页面将首先执行js代码,再加载页面内容,因此当js代码的内容需要与页面对象交互时,使用这一方法并不合适。
       很多js脚本需要在页面还没有开始加载时执行,则适合使用这种方法。
2.mybutton.Attributes.Add

代码:mybutton.Attributes.Add("onclick","javascript:alert('ss');");

       mybutton是一个按钮对象,这个方法可以用于建立某个表单的鼠标事件,比如onclick。
       任何页面对象都可以使用这种方法建立脚本,这样建立的脚本可以不影响整个页面的加载,仅仅是在发生某些交互行为时执行。
3.Page.RegisterStartupScript

代码:Page.RegisterStartupScript("test","<script>alert('ss');</script>");

       该方法生成的客户端脚本位于</form>Form结束标签的上一行,页面将首先装载表单对象,再执行脚本。这是使用最多的一种方法,主要特点在于可以建立需要与表单对象交互的js代码。
4.Page.RegisterClientScriptBlock

代码:Page.RegisterClientScriptBlock("test","<script>alert('ss');</script>");
       这种方法的原型与Page.RegisterStartupScript其实是一样的,其不同在于生成的js代码位于<form>Form起始标签的下一行,在装载表单对象之前将执行这些代码。这一方法也不适合需要交互表单对象信息的脚本。
       以上几种方法都可以方便的建立客户端JS代码。如果脚本比较复杂,可以将脚本写入字符串变量,再套用相应的方法。这些成员函数常常使用在Page_Load函数中,例如:
    private void Page_Load(object sender, System.EventArgs e)
    {
     // 在此处放置用户代码以初始化页面
     //mybutton.Attributes.Add("onclick","javascript:alert('ss');");
     //Page.Response.Write("<script>alert('ss');</script>");
     //Page.RegisterStartupScript("test","<script>alert('ss');</script>");
     Page.RegisterClientScriptBlock("test","<script>alert('ss');</script>");
    }
       最后提醒一下:这两个方法的连续使用确保在10次以内,超过10个,数据类型将从 ListDictionary转为Hashtable,写入的SCRIPT语句的顺序会不同于你预想的,因为Hashtable不是线性存储结构。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值