博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net 下OnClientClick的妙用
阅读量:5089 次
发布时间:2019-06-13

本文共 1716 字,大约阅读时间需要 5 分钟。

一、

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/

转载于:https://www.cnblogs.com/panshirui/p/3402079.html

你可能感兴趣的文章
SQL
查看>>
Check if rabbitmq run on your host
查看>>
hdu 4282 枚举,非二分
查看>>
C# 字符串处理—— 去除首位保留其他
查看>>
网络销售
查看>>
Codeforces Round #479 (Div. 3) A. Wrong Subtraction
查看>>
归并排序及应用 (nyoj 117 求逆序数)
查看>>
网络流模板
查看>>
html分享QQ,微信,显示分享图片,标题,简介
查看>>
网络编程start
查看>>
04 Python爬虫之Beautiful Soup库
查看>>
BZOJ4025 二分图
查看>>
tensor flow中summary用法总结
查看>>
怎么解决docker pull拉取镜像速度过慢的问题
查看>>
lr_save_string和sprintf、lr_eval_string的使用
查看>>
第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制...
查看>>
bzoj 1010: [HNOI2008]玩具装箱toy
查看>>
centOS7下SVN的安装和使用
查看>>
【Java】向*.txt文档里面重复添加同一个字符串
查看>>
http://www.hulian.top/zixun/post/4771.html
查看>>