Asp.Net中OnClientClick与OnClick (转)
来源:互联网 发布:淘宝卖家怎么改地址 编辑:程序博客网 时间:2024/05/22 03:30
在web开发中,经常要用到控件的OnClientClick与OnClick事件.
如果使用不当,经常会遇到一些意料之外的事情发生,让人摸不着头脑.下面就将我的一些小小总结道来:
首先我们要了解这两个事件:
OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行.
OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行.
如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢.
OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资源,而且用户体验不好...
例:
//jsDel()为一javascript函数.
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="删除" OnClientClick="return jsDel();" OnClick="btnDel_Click1" />
需要注意的是当我们当击这个按钮时,自动先执行的客户端,再执行服务器端的.如果客户端返回的是false,那么服务器端对应的方法永远不会执行.这样就达到检测,只有通过才去执行服务器端的方法.
也就是说如果我们上面写成:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="删除" OnClientClick="jsDel(); return false;" OnClick="btnDel_Click1" />
那么不管jsDel执行的结要如何.服务器端对应的btnDel_Click1方法都永远不会执行.因为return false使得始终使客户端返回false
如果我们写成:
<asp:Button ID="btnDel" Width="80px" CssClass="buttonstyle" runat="server" Text="删除" OnClientClick="jsDel();"OnClick="btnDel_Click1" />
那么btnDel_Click1都有会发生.同样也就达不到效果.也就是说你没有通过检测也去执行服务器的方法了.
所以必须注意了.
当然我们还可以通过btn.Attribute.add()的方法来进行类似的处理。
- Asp.Net中OnClientClick与OnClick (转)
- Asp.Net中OnClientClick与OnClick
- Asp.Net中OnClientClick与OnClick
- Asp.Net中OnClientClick与OnClick
- Asp.Net中OnClientClick与OnClick之我见
- Asp.Net中OnClientClick与OnClick 的区别
- asp.net 中OnClientClick与OnClick的区别
- 有关ASP.NET中OnClientClick与OnClick的说明
- OnClientClick与OnClick事件(asp.net)
- ASP.NET的OnClientClick与OnClick事件
- asp.net 使用onclick与OnClientClick 跳转到其他页面
- asp.net OnClientClick和OnClick事件
- ASP.NET BUTTON 的OnClick和OnClientClick
- asp.net中的onclientclick和onclick
- ASP.NET服务器控件与客户端控件OnClientClick和OnClick的用法比较
- OnClientClick与OnClick
- onClick与onClientClick区别
- asp.net中onclientclick事件与服务器事件click
- (1)spring2.5 入门理解
- java.sql.SQLException: Before start of result set
- VB6 中处理 INI 文件的方法
- Bash脚本编程 (三): 像Jennifer Carner一样处理alias别名
- 嵌入式可移植性编程的一些例子
- Asp.Net中OnClientClick与OnClick (转)
- javascript trim方法
- 深度挖掘boot-----mbr启动代码分析
- JS代码汇总(四)
- QT编程:菜单及工具条的建立
- JavaScript 调用表单重置方法
- 软件 路程
- java 集合
- SQL语句:Group By 语句小结