基础知识收藏(ASP.NET的OnClientClick与OnClick事件)-2013.07.10
OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行.
OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行.
如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢?
OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资源。
例:
test()为一javascript函数.
<script type="text/javascript"> function test() { var value = document.getElementById("<%=t1.ClientID%>").value; if (value == "") { alert("不能为空值"); return false; } } </script>
t1为一文本框,判断输入内容是否为空
<asp:TextBox ID="t1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="return test()" οnclick="Button1_Click" />
需要注意的是当我们当击这个按钮时,自动先执行的客户端,再执行服务器端的.如果客户端返回的是false,那么服务器端对应的方法永远不会执行.这样就达到检测,只有通过才去执行服务器端的方法.
也就是说如果我们上面写成:
<asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="test();return false" οnclick="Button1_Click" />
那么不管test()执行的结果如何.服务器端对应的Button1_Click方法都永远不会执行.因为return false使得始终使客户端返回false
如果我们写成:
<asp:Button ID="Button1" runat="server" Text="提交" OnClientClick="test()" οnclick="Button1_Click" />
那么Button1_Click都有会发生.同样也就达不到效果.也就是说你没有通过检测也去执行服务器的方法了.
我们还可以通过Button1.Attributes.Add("onclick", "test()");的方法来触发客户端事件。
以上内容完全摘录自huang_qy前辈的博客,仅供自己和他人学习使用,上面讲得很细致,菜鸟受教了,感谢。
转载于:https://www.cnblogs.com/CuiPengfei19911014/p/3182229.html
基础知识收藏(ASP.NET的OnClientClick与OnClick事件)-2013.07.10相关推荐
- Asp.net 中 OnClientClick 与 OnClick 的执行顺序
Asp.net 中 OnClientClick 与 OnClick 的执行顺序为:客户端的OnClientClick先执行,服务器端的OnClick后执行. 拓展:在执行完客户端的OnClientCl ...
- js按钮触发网页提醒_js触发asp.net的Button的Onclick事件应用
在asp.net引入事件驱动之后,在一个页面上很容易解决多个按钮触发不同事件的问题,避免了在asp中需要多个form或者通过js脚本来控制的麻烦. asp.net带来便利的同时,也带来一个问题.在实际 ...
- Asp.Net中OnClientClick与OnClick
OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行. OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点 ...
- js触发asp.net的Button的Onclick事件
在asp.net引入事件驱动之后,在一个页面上很容易解决多个按钮触发不同事件的问题,避免了在asp中需要多个form或者通过js脚本来控制 的麻烦. asp.net带来便利的同时,也带来一个问题.在实 ...
- 前端基础知识 - 收藏集 - 掘金
破解前端面试(80% 应聘者不及格系列):从 DOM 说起 - 掘金 共 7384 字,读完需 10 分钟.本文为<破解前端面试(80% 应聘者不及格系列)>文章的第二篇,包含 DOM.E ...
- 【基础知识】ASP.NET[基础一(ashx)]
一.ASP.NET介绍 1.ASP.NET包括: 一般处理程序(ashx):WebForm ( aspx ):MVC(Model view con~~): 2.ASP.NET的常用文件(重点): 1& ...
- HtmlCSS 基础知识
Html 基础知识Html 基础知识Html 基础知识Html 基础知识Html 基础知识Html 基础知识Html 基础知识Html 基础知识Html 基础知识Html 基础知识Html 基础知识H ...
- javascript的基础知识
/*module("基础知识测试-Math函数用法", { setup : function() { ok(true, "基础知识测试-Math函数用法-开始&qu ...
- iptables的基础知识-iptables中的状态检测
2019独角兽企业重金招聘Python工程师标准>>> iptables的基础知识-iptables中的状态检测:iptabels被认为是Linux中实现包过滤功能的第四代应用程序. ...
最新文章
- CentOS7下ntp安装步骤
- win7卡在正在启动windows界面_win7如何重装ie8
- ASP入门(十三)-Server对象
- jQuery常用技巧
- gateway sentinel 熔断 不起作用_Sentinel 的一些概念与核心类介绍
- 《Linux内核设计与实现》读书笔记(十八)- 内核调试
- php结合redis实现高并发下的抢购、秒杀功能
- 数据结构之判断一棵树是不是完满二叉树
- java中的extends_Java中的继承
- Echart词云图自定义形状,少词显示不全,配置项相关设置
- 数仓OLAP(一)--即席查询 Kylin
- IP 库的那些事儿之 2013 - 2014 流水帐版
- daimayuan每日一题#863 吃糖果
- 怎么把音乐从电脑传到苹果手机?电脑mp3导入苹果手机
- 解决Playbook不能充电的问题
- 自动驾驶系列(一) - 自动驾驶系统涉及哪些技术
- 小芭比linux怎么装win7_Linux系统怎么安装Win7?安装XP或WIN7系统教程
- Module-Huey任务队列
- 输出组成的倒三角图案
- 总结了 200 道 BAT 机器学习面试题,值得收藏 (附参考答案)