OnClick与OnClientClick

OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在IE端运行,一点击就运行

OnClick是服务器端事件处理方法,在服务器端也就是IIS中运行,点击后,先执行postback,再运行

OnClientClick常用来做一些客户端的检测。当然也可以放在服务器端检测,但是需要与服务器进行交互,消耗资源,而且用户体验也不好。

当一个控件上同时有OnClick和OnClientClick时,OnClientClick先于OnClick执行

正确的写法应该是:

< asp:Button  ID ="btnSave"  runat ="server"  Text ="Save"  OnClick ="btnSave_Click"  OnClientClick ="return saveFunc();"   />

 

saveFunc对数据进行验证,当验证通过返回true时,执行服务器端方法进行保存,验证不通过返回false,服务器端的保存方法就不会执行。

错误的写法:

ExpandedBlockStart.gif 代码
<!-- 无论验证是否通过,都会执行服务器端方法,不能达到验证的目的 -->
< asp:Button  ID ="btnSave"  runat ="server"  Text ="Save"  OnClick ="btnSave_Click"  OnClientClick ="saveFunc();"   />

<!-- 无论验证结果如何都返回false,服务器端方法永远不会执行 -->
< asp:Button  ID ="btnSave"  runat ="server"  Text ="Save"  OnClick ="btnSave_Click"  OnClientClick ="saveFunc(); return false;"   />

 

 

 

转载于:https://www.cnblogs.com/niuniu1985/archive/2010/01/08/1642417.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值