描述:asp.net中服务器控件Button的点击事件OnClientClick和OnClick的区别?

解答:http://www.cnblogs.com/ypfnet/archive/2012/12/24/2830771.html(作者:代号小子)

一、   二者的区别:

OnClick是button的服务器端事件

OnClientClick是button属性,它里面执行的是js代码,是在客户端运行。

一般我们用 OnClientClick验证我们的提交数据,但是这个一定要返回ture或者false,即一定要加上return,否则在客户端验证失效。如果是true那么就会执行后台的c#代码,页面也会进行提交刷新;否则就不执行,只会执行客户端js代码。

前台代码:

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="test.WebForm1" %>2 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">4 5 <html xmlns="http://www.w3.org/1999/xhtml">6 <head runat="server">7     <title></title>8     <script type="text/javascript">9         function clickBtn() {
10 //            alert("被点击了!");
11             //            return false;
12
13             var yesORNo = confirm("确定点击?");
14             if (yesORNo) {
15                 return true;//如果用户点击“确定”,就返回true,开始执行后台代码!
16             } else {
17                 return false; //如果用户点击“取消”,就返回false,不执行后台代码!
18             }
19         }
20     </script>
21 </head>
22 <body>
23     <form id="form1" runat="server">
24     <div>
25     <asp:Button runat="server" ID="btnok" Text="点击" οnclick="btnok_Click" OnClientClick="return clickBtn()"/><%--方法1:在控件中添加js代码--%>
26     <asp:Button runat="server" ID="btnok2" Text="点击2" οnclick="btnok_Click" OnClientClick="return confirm('确定?')"/><%--方法2:在控件中添加js代码--%>
27     </div>
28     </form>
29 </body>
30 </html>

后台代码:

 1 using System;2 using System.Collections.Generic;3 using System.Linq;4 using System.Web;5 using System.Web.UI;6 using System.Web.UI.WebControls;7 8 namespace test9 {
10     public partial class WebForm1 : System.Web.UI.Page
11     {
12         protected void Page_Load(object sender, EventArgs e)
13         {
14
15         }
16         protected void btnok_Click(object sender, EventArgs e)
17         {
18             Response.Write("这里是后台,按钮被点击了");
19         }
20     }
21 }

二、服务器控件调用js代码

做网页经常要和JavaScript打交道,经常要用JavaScript做一些客户端的验证,但是如果我们的按钮用的是HTML控件的话,验证通过后无法调用后台代码,如果用服务器端控件,验证不通过有要刷新页面,这个有时候挺烦人的,能不能让服务器端的按钮调用客户端的验证,如果验证成功后在调用服务器端的方法,这样既减少了网路传输,给用户感觉也好。 
当我们用模板列做删除数据的时候一般都会返回一个对话框询问用户是否确认,其实我们是通过修改模板列里的button的OnClientClick属性将其值设为 return confirm("你确认删除该条记录吗"); 我们可以分析一下,confirm返回的是个bool值,如果我的button返回的结果也是个bool应该也可以吧,我猜对了,比如有下面一些代码 :

function judgeUserInput() 

bool result = true; 
if(验证未通过) 

result = false; 
alert("请检查您的输入是否正确"); 

return result; 
}

转载于:https://www.cnblogs.com/lishidefengchen/p/3421168.html

C#学习之按钮点击事件相关推荐

  1. 【Android 插件化】Hook 插件化框架 ( Hook 实现思路 | Hook 按钮点击事件 )

    Android 插件化系列文章目录 [Android 插件化]插件化简介 ( 组件化与插件化 ) [Android 插件化]插件化原理 ( JVM 内存数据 | 类加载流程 ) [Android 插件 ...

  2. java的按钮点击事件_[转载]java处理按钮点击事件

    不同的事件源可以产生不同类别的事件.例如,按钮可以发送一个ActionEvent对象,而窗口可以发送WindowEvent对象. AWT时间处理机制的概要: 1.监听器对象是一个实现了特定监听器接口( ...

  3. RxSwift之订阅UITableViewCell里的按钮点击事件

    一.前言 我们知道,通过订阅 tableView 的 itemSelected 或 modelSelected 这两个 Rx 扩展方法,可以对单元格的点击事件进行响应,并执行相关的业务代码. 但有时候 ...

  4. Android Listview中Button按钮点击事件冲突解决办法

    今天做项目时,ListView中含有了Button组件,心里一早就知道肯定会有冲突,因为以前就遇到过,并解决过,可惜当时没有记录下来. 今天在做的时候,继续被这个问题郁闷了一把,后来解决后,赶紧来记录 ...

  5. java添加按钮点击事件_如何为odoo 10中的按钮点击事件添加一个java脚本处理程序?...

    我想使用java脚本为header中的按钮创建一个处理程序.下面我视图模型给出:如何为odoo 10中的按钮点击事件添加一个java脚本处理程序? inherit_id="web.asset ...

  6. 设置html按钮点击事件无效果,css怎么设置按钮不能点击?

    css怎么设置按钮不能点击?下面本篇文章就来给大家介绍一下使用CSS设置按钮不能点击的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 想要按钮不能点击可以通过设置按钮点击事件失 ...

  7. Android之按钮点击事件——显示图片隐藏图片

    哈喽!时隔两个月,我又和大家见面啦! 今天,我要分享的内容一如既往的很基础,即关于Android的按钮点击事件--显示图片&&隐藏图片,它的执行过程比较简单,所以这里我就不放什么图片或 ...

  8. unity3d C#用匿名委托循环注册按钮点击事件报错:索引超界 ArgumentOutOfRangeException: Index was out of range. Must be non-ne

    unity3d C#用匿名委托循环注册按钮点击事件报错:索引超界 ArgumentOutOfRangeException: Index was out of range. Must be non-ne ...

  9. 安卓按钮点击事件、触摸事件、长按事件的实现——小白必备(三)

    安卓按钮点击事件.触摸事件.长按事件的实现与根本 <?xml version="1.0" encoding="utf-8"?> <Linear ...

最新文章

  1. Yann LeCun最新文章:自监督学习的统一框架
  2. FACEGOOD 推出10万点人脸关键点跟踪,重新定义工业级人脸3D重建
  3. centos linux编译c,紧急提醒!Linux是如何编译C语言程序文件的?CentOS 8的gcc使用方法介绍...
  4. Java集合框架(一)
  5. leetcode 572. 另一个树的子树(Java版)
  6. 记录一个AndroidX和Android support库不能共存的坑
  7. 一页纸项目管理模板_项目管理职场必备读物!这一次全部送给你!
  8. oracle标量子查询的优势,标量子查询
  9. 阿里重启维护Dubbo了
  10. adb shell 修改文件名_shell修改文件名(一)
  11. 【干货】数字化转型工作手册.pdf(附下载链接)
  12. 回溯法——批处理作业调度
  13. Miller Robbin测试模板(无讲解)
  14. 【iCore4 双核心板_ARM】例程十四:FATFS实验——文件操作
  15. iOS工作中的经验总结—马甲包审核以及常见审核问题!!!(干货)
  16. 台式计算机m4350,高配商用台式 联想启天M4350跌破五千
  17. 超详细的python搭建区块链(下)
  18. java实现变声器--变声萝莉
  19. 服务器信号有杂音怎么回事,麦克风有杂音或电流声等的解决方法
  20. JavaWeb 获取客户端的真实IP地址

热门文章

  1. npm、webpack、vue-cli 快速上手版
  2. 面向对象之反射、包装、(定制)
  3. HDU 4487 Maximum Random Walk
  4. CCF - 201703-1 - 分蛋糕
  5. myeclipse使用git图文教程
  6. 漏洞:WebRTC 泄漏用户IP
  7. 知识管理系统Data Solution研发日记之十二 网页数据抓取Fetch,呈现Render,导出Export...
  8. 使用run-rs启动mongodb
  9. FastDFS部署及测试
  10. Ant Design Pro 开启默认进入登录页