OnClick与OnServerClick

       

        OnClick这一关键词,它是客户端JS脚本中的关键词,也是ASP.NET服务器控件中的控件属性,后者实际就是OnServerClick。
 
        不同之处是前者发生在客户端,由浏览器完成操作,而后者需要回送到服务器端,由服务器端运行。

        如果对于一般的HTML中的代码,非服务器端控件的,可以使用OnClick来定义一个客户端事件,OnSeverClick是在服务器端脚本调用的方法 .

        如一个Button服务器控件,它可以同时具备客户端和服务器端的OnClick,发生的顺序是先客户端再服务器端。但是在定义的时候需要注意:

        在页面中的
<asp:Button id="cmdReturn2" runat="server" OnClick="ReturnFile">Return</asp:Button>
中的这个OnClick定义的是服务器端事件,因为这是控件,ReturnFile是在代码中定义的方法。

        而如果需要同时存在客户端JS中的Onclick,那需要通过在代码中的Button.Attributes.Add("onclick","return CheckMailBox();")来加入,是将CheckMailBox()的结果返回给onclick事件,注意 ("onclick", "return CheckMailBox") 和 ("onclick ","return  CheckMailBox") 是有区别的,前者如果返回false,onclick事件将不执行,后者无论返回什么值都回执行下去。

       实际上asp.net封装了很多东西,方便的同时也让很多刚学的人弄不明白怎么回事,比如上面说的服务器端click事件。其实这不是一个真正的事件,仅仅是让你有事件的感觉而已,本质其实就是POST提交表单而已,如果微软改服务器端OnClick事件名称为OnSubmit可能更好理解些。


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值