您的位置:首页 > 编程语言 > ASP

asp.net OnClientClick和OnClick

2018-01-18 13:47 411 查看
OnClientClick是客户端脚本,一般使用javascript,在客户端,中运行,点击后马上执行.

OnClick是服务器端事件处理函数,使用C#时服务器端,也就是IIS中运行,点击按钮后,执行postback,之后再运行。

其实有的时候需要客户端和服务端双重校验,为什么这么说呢? 比果说,一个用户名的文本框,在客户端我们通过JS校验,只能输入字母和数字,不能有特殊字符!通常情况下是没有问题的,但是总有那么一丢丢人想方设法的去“搞破坏” ,这个时候就需要进行双重校验了!说白了,就是服务端和客户端都进么校验!

比如说:Button有:OnClick事件和OnClientClick属性,前者一般就是服务端的点击事件!后者则是客户端的点击事件!

js

<script language="javascript" type="text/javascript">

        function buttonClick() {

            alert("我是客户端点击事件");

            return false;     

        }

     </script> 

页面

 <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 来"屏蔽"服务端的校验!也就是OnClientClick屏蔽了OnClick
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: