OnClientClick和OnClick的区别
2015-07-13 21:03
375 查看
最近发现两个特别相近的客户端事件,OnClientClick和OnClick,都是点击事件,又有什么区别呢?
首先我们要了解这两个事件:
OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行.
OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行.
如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢.
OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资源,而且用户体验不好...
比如说:Button有:OnClick事件和OnClientClick属性,前者一般就是服务端的点击事件!后者则是客户端的点击事件!
我们来做一个测试!在Default.aspx页面中添加如下代码!
大家运行看看是什么效果? 你可能会发现,只弹出了JS中的代码! 没错,这正是我们想要的效果,通过return false 来"屏蔽"服务端的校验!好处是什么? 就是不用刷新页面呀!
你再把浏览器的脚本功能禁用了,你再试一试,看看又是什么效果?
通过又重校验就能确保用户的非法录入,这正是我们想要的结果!
首先我们要了解这两个事件:
OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行.
OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行.
如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢.
OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资源,而且用户体验不好...
比如说:Button有:OnClick事件和OnClientClick属性,前者一般就是服务端的点击事件!后者则是客户端的点击事件!
我们来做一个测试!在Default.aspx页面中添加如下代码!
<strong><span style="font-size:18px;"> <script language="javascript" type="text/javascript"> function buttonClick() { alert("我是客户端点击事件"); return false; } </script></span></strong>
<form id="form1" runat="server"> <div> <asp:Button ID="Button1" runat="server" Text="些Button是服务端控件,默认使用OnClientClick事件,请禁用浏览器的Js功能体验" OnClick="Button1_Click" OnClientClick="return buttonClick();" /> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form>cs类代码:
protected void Button1_Click(object sender, EventArgs e) { this.Label1.Text = "我是服务端点击事件"; }
大家运行看看是什么效果? 你可能会发现,只弹出了JS中的代码! 没错,这正是我们想要的效果,通过return false 来"屏蔽"服务端的校验!好处是什么? 就是不用刷新页面呀!
你再把浏览器的脚本功能禁用了,你再试一试,看看又是什么效果?
通过又重校验就能确保用户的非法录入,这正是我们想要的结果!
相关文章推荐
- @Autowired与@Qualifer的使用区别备忘
- 视觉直观感受7种常用排序算法
- 英文写作三套件
- Python中变量的作用域
- 思科交换机创建vlan的命令是什么??
- 操作系统中的缓冲(buffer)
- DistributedCache的使用
- 面向对象五大原则_3.依赖倒置&4.接口隔离
- xml文件读取
- sqlconnection连接方法
- java实现双向循环链表
- Android中目的地Intent的使用
- 选择文件夹,路径选择
- MySQL时区修改
- c/c++ # 与 ##
- HDU (1175)连连看
- currentStyle和getComputedStyle的兼容写法
- ZedBoard minicom无法通信问题
- 时间序列分析步骤及sas代码
- jQuery学习笔记(一)——基础选择器、过滤选择器、表单选择器