OnClientClick和OnClick的区别

       最近发现两个特别相近的客户端事件,OnClientClick和OnClick,都是点击事件,又有什么区别呢?

首先我们要了解这两个事件:

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 来"屏蔽"服务端的校验!好处是什么? 就是不用刷新页面呀!

你再把浏览器的脚本功能禁用了,你再试一试,看看又是什么效果?

通过又重校验就能确保用户的非法录入,这正是我们想要的结果!

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-25 05:28:01

OnClientClick和OnClick的区别的相关文章

JS、OnClientClick、OnClick

OnClientClick是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在浏览器端运行,一点击就运行: OnClick是服务器端事件处理方法,在服务器端也就是IIS中运行,点击后,先执行postback,再运行: OnClientClick常用来做一些客户端的检测.当然也可以放在服务器端检测,但是需要与服务器进行交互,消耗资源,而且用户体验也不好. 当 一个控件上同时有OnClick和OnClientClick时,OnClientClick先于OnClick执行.如果O

ASP.NET的OnClientClick与OnClick事件

OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行. OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行. 如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢? OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资

【转】ASP.NET的OnClientClick与OnClick事件【解决了“识别用户在对话框里面选yes或no的问题”】

OnClientClick是客户端事件方法.一般采用JavaScript来进行处理.也就是直接在IE端运行.一点击就运行. OnClick事件是服务器端事件处理方法,在服务器端,也就是IIS中运行.点击按钮后,执行postback,再运行. 如果一个按钮上我们同时有客户端的OnClientClick方法又有OnClick事件处理方法,如何才能按照正常的逻辑运行呢? OnClientClick中我们常用来做一些客户端的检测.当然放在服务器也可以做同样的检测,但这样做的代价是与服务器进行交互,消耗资

OnClick、OnClientClick与OnServerClick响应区别 小结

对于服务器按钮控件(即<asp:Button>类型的按钮):服务器响应事件:OnClick客户端响应属性:OnClientClick 对于html按钮控件(即<input type="button" runat="server">)服务器响应事件:OnServerClick客户端响应事件:onclick

onclientclick和onclick区别(转)

OnClientClick是客户端脚本,一般使用javascript,在客户端,也就是IE中运行,点击后马上执行OnClick是服务器端事件处理函数,使用C#或者vb.net,在服务器端,也就是IIS中运行,点击按钮后,执行postback,之后再运行. 其实有的时候需要客户端和服务端双重校验,为什么这么说呢? 比果说,一个用户名的文本框,在客户端我们通过JS校验,只能输入字母和数字,不能有特殊字符!通常情况下是没有问题的,但是总有那么一丢丢人想方设法的去“搞破坏” ,这个时候就需要进行双重校验

$(&quot;&quot;).click与onclick的区别示例介绍

http://www.jb51.net/article/55650.htm Html代码 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 <script type="text/javascript"> $(function(){ $("#btn4").click(function(){ $("#btn3").click(); }); }); function change(){ alert("onclick&

addEventListener和attachEvent以及element.onclick的区别

attachEvent是ie添加事件处理程序,接收两个参数,其中事件类型名称要加"on", 可以添加多个事件处理程序,按照添加顺序相反的顺序触发; addEventListener是给非ie添加事件处理程序,接收三个参数,第一个是事件名,不需要加“on”, 第二个是绑定的函数,第三个参数是一个布尔值,是事件的方式,意思是是否使用useCatch方式, 如果是false,就使用传统的冒泡方式,如果为true,就在捕获阶段调用事件处理程序. addEventListener可以添加多个事件

OnClietClick和OnClick的区别

OnClientClick是客户端脚本,一般使用javascript,在客户端,也就是IE中运行,点击后马上执行OnClick是服务器端事件处理函数,使用C#或者vb.net,在服务器端,也就是IIS中运行,点击按钮后,执行postback,之后再运行. 其实有的时候需要客户端和服务端双重校验,为什么这么说呢? 比果说,一个用户名的文本框,在客户端我们通过JS校验,只能输入字母和数字,不能有特殊字符!通常情况下是没有问题的,但是总有那么一丢丢人想方设法的去“搞破坏” ,这个时候就需要进行双重校验

javascript中 addEventListener和attachEvent以及element.onclick的区别

attachEvent是ie添加事件处理程序,接收两个参数,其中事件类型名称要加"on", 可以添加多个事件处理程序,按照添加顺序相反的顺序触发; addEventListener是给非ie添加事件处理程序,接收三个参数,第一个是事件名,不需要加"on", 第二个是绑定的函数,第三个参数是一个布尔值,是事件的方式,意思是是否使用useCatch方式, 如果是false,就使用传统的冒泡方式,如果为true,就在捕获阶段调用事件处理程序. addEventListen