一、

OnClick是button的服务器端事件
OnClientClick是button的客户端事件
onlick时发生postback,执行后台代码。onclientclick,就是执行javascipt代码,不会发生postback.简单说,onclick:执行C#代码, onclientclick:执行javascript代码。
onclientclick先于onclick发生,一般执行脚本
onclientclick() 控制客户端提交。例如可以使用confirm('是否执行?')return true:执行onlick事件。return false:什么都不干。再得来说:
一般我们用 OnClientClick验证我们的提交数据,但是这个一定要返回ture或者false,即一定要加上return,否则OnClick失效。当返回 false时OnClick服务器端事件才被中止,当你的js验证有错误,也会跳过验证,直接执行服务器端事件OnClientClick。为了避免这样 的错误,可以考虑用服务端验证这样就省去了OnClientClick事件,就不用考虑和OnClick的冲突了。但是从性能上,服务端验证,耗费了服务 器资源,呵呵,一般是没问题的,只是和客户端验证比较而已,各有所长,各有所短
 

二、

做 网页经常要和JavaScript打交道,经常要用JavaScript做一些客户端的验证,但是如果我们的按钮用的是HTML控件的话,验证通过后无法 调用后台代码,如果用服务器端控件,验证不通过又要刷新页面,这个有时候挺烦人的,能不能让服务器端的按钮调用客户端的验证,如果验证成功后在调用服务器 端的方法,这样既减少了网路传输,给用户感觉也好。
      当我们用模板列做删除数据的时候一般都会返回一个对话框询问用户是否确认,其实我们是通过修改模板列里的button的OnClientClick属性将 其值设为 return confirm("你确认删除该条记录吗"); 我们可以分析一下,confirm返回的是个bool值,如果我的button返回的结果也是个bool应该也可以吧,我猜对了,比如有下面一些代码function judgeUserInput(){bool result = true;if(验证未通过){result = false;alert("请检查您的输入是否正确");}return result;}那么我们把button OnClientClick设置成 return judgeUserInput();就可以了!function validion(regex,elementName,alertStr){var htmlObj = document.getElementById(elementName);if( htmlObj.value!="" ){if(regex.test(htmlObj.value)){return true;}else{alert(alertStr);return false;}}if( htmlObj.value==""){return true;}
}然后调用的

三、

示例:
web 窗体添加一个服务器控件Button,在它的onClientClick属性中写alert("这是调用客户端");return false,在服务器端事件Button1_Click中写代码Response.Write("这是调用服务器端onclick事件");,点击 Button按钮不会调用服务器端事件,但是把onClientClick中的return false去了,执行客户端onClientClick事件后继续执行Button1_Click事件。
 

来源:

http://blog.163.com/xiao_mege/blog/static/72942753201072053841131/

asp.net 下OnClientClick的妙用的更多相关文章

  1. ASP.NET下回车键的触发效果

    在ASP.NET下,在客户端触发回车键,默认调用了页面中第一个button,这有时是非常头痛的,比如页面的第一个按键是注销键时,想想也够可怕了. .net提供设置默认回车键的属性,this.Form. ...

  2. 转发 win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files 解决方案

    win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NE ...

  3. asp.net下调用Matlab生成动态链接库

    对于这次论文项目,最后在写一篇关于工程的博客,那就是在asp.net下调用matlab生成的dll动态链接库.至今关于matlab,c/c++(opencv),c#(asp.net)我总共写了4篇配置 ...

  4. asp.net下的b/s架构

    最近一直在做asp.net下的b/s架构的程序.整理一下可以采用的架构. 简单三层架构 基于接口和工厂模式的三层 前台用jquery调用http请求(ashx),ashx再调用逻辑接口 虽然很早就知道 ...

  5. asp.net下cookie 的基础使用

    cookie作为在B/S开发中经常被使用到的东西,asp.net必然提供了现成的东西给我们使用. 就是这个对象:HttpCookie,当然了,对于asp.net来说,Request和Response中 ...

  6. ASP.NET下MVC设计模式的实现

    [转载]MVC架构在Asp.net中的应用和实现 转载自:http://www.cnblogs.com/baiye7223725/archive/2007/06/07/775390.aspx 摘要:本 ...

  7. Asp.Net 之 OnClientClick 与 OnClick 的执行顺序

    Asp.net 中 OnClientClick 与 OnClick 的执行顺序为:客户端的OnClientClick先执行,服务器端的OnClick后执行. 拓展:在执行完客户端的OnClientCl ...

  8. Asp.net 中 OnClientClick 与 OnClick 的区别

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

  9. Uploadify在asp.net下使用Demo

    为了使自己以后不再去网上搜索,特记录下来 从uploadify官网http://www.uploadify.com/上下载文件 必要的文件: 1.jquery的js文件 2.jquery.upload ...

随机推荐

  1. 【恒天云】OpenStack和CloudStack对比研究报告

    摘自恒天云:http://www.hengtianyun.com/download-show-id-8.html 1. 概述 常见的IaaS开源平台有OpenStack.CloudStack.Euca ...

  2. HW6.30

    import java.util.Scanner; public class Solution { public static void main(String[] args) { Scanner i ...

  3. HDU-4647 Another Graph Game 贪心,博弈

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4647 注意这题两人的决策是想要使得自己的分数与对方的差值最大.. 注意到数据范围,显然是贪心之类的,如 ...

  4. nyoj 79 拦截导弹

    拦截导弹 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 某国为了防御敌国的导弹袭击,发展中一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到 ...

  5. hdu2545 树上战争 (并查集)

    Problem Description 给一棵树,如果树上的某个节点被某个人占据,则它的所有儿子都被占据,lxh和pfz初始时分别站在两个节点上,谁当前所在的点被另一个人占据,他就输了比赛,问谁能获胜 ...

  6. HBase 使用场景和成功案例

    有时候了解软件产品的最好方法是看看它是怎么用的.它可以解决什么问题和这些解决方案如何适用于大型应用架构,能够告诉你很多.因为HBase有许多公开的产品部署,我们正好可以这么做.本章节将详细介绍一些人们 ...

  7. xps13 关机充电 右边的usb口

    bios里设置了 usb powershare但关机的时候还是不能充电 度娘了一下,发现不解决问题,只能放狗了.果然谷歌里搜到答案,是windows的电源策略. I figured it out. A ...

  8. iOS开发——新特性OC篇&Objective新特性

    Objective新特性 Overview 自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时, ...

  9. 阿里封神谈hadoop学习之路

    阿里封神谈hadoop学习之路   封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 s ...

  10. DBCP数据源

    DBCP数据源是Apache软件基金组织下的开源连接池实现,需要两个jar文件:Commons-dbcp.jar 连接池的实现和Commons-pool.jar 连接池实现的依赖库