ASP.NET中OnClientClick与OnClick的区别
2017-03-27 18:14
453 查看
OnClientClick是客户端事件处理方法,一般采用JavaScript进行处理,可以直接在浏览器中运行,不跟后台发生交互。
OnClick是服务器端事件处理方法,在服务器端,也就是IIS中运行。执行顺序为:点击按钮->页面回传(PostBack)->执行Click事件绑定的方法
我们通常使用OnClientClick事件来做一些客户端的检测,当然也可以把检测放在服务器端执行,但这样做的代价是与服务器进行交互,消耗资源。
如果一个按钮既有OnClientClick事件处理方法又有OnClick事件处理方法,当我们单击这个按钮时,先触发客户端事件,再触发服务器端事件,如果客户端事件返回值为false,那么服务器端对应的方法永远不会执行。这样就达到检测的目的,只有检测通过才能执行服务器端的方法。
OnClientClick事件一定要return,否则OnClick事件都会执行。
示例代码如下:
哪怕ValidateData()方法始终返回false,但是OnClientClick=”ValidateData();”,所以点击按钮后OnClick事件始终会被触发。
OnClick是服务器端事件处理方法,在服务器端,也就是IIS中运行。执行顺序为:点击按钮->页面回传(PostBack)->执行Click事件绑定的方法
我们通常使用OnClientClick事件来做一些客户端的检测,当然也可以把检测放在服务器端执行,但这样做的代价是与服务器进行交互,消耗资源。
如果一个按钮既有OnClientClick事件处理方法又有OnClick事件处理方法,当我们单击这个按钮时,先触发客户端事件,再触发服务器端事件,如果客户端事件返回值为false,那么服务器端对应的方法永远不会执行。这样就达到检测的目的,只有检测通过才能执行服务器端的方法。
<script type="text/javascript"> function ValidateData(){ var isValid = true; var email = $("#ForegroundValidate_Index_Email").val(); var phone = $("#ForegroundValidate_Index_Phone").val(); var count = $("#ForegroundValidate_Index_Count").val(); //验证邮箱:Razor视图中@@表示邮箱中的@符号 //请注意:这里的正则表达式的写法和判断方法跟c#不一样 //正则表达式格式:/正则表达式/g,g表示全部查找 var regEmail = /\w+@@\w+\.\w+/; var regPhone = /[1-9]\d{10}/; if (!regEmail.test(email)) { alert("邮箱格式错误!"); isValid = false; } if (!regPhone.test(phone)) { alert("手机号格式错误!"); isValid = false; } if (!(/^\d+$/g).test(count)) { alert("数量格式错误!"); isValid = false; } return isValid; } </script> <asp:Button ID="btnSubmit" class="btn" runat="server" OnClientClick="return ValidateData();" Text="提交" OnClick="btnSubmit_Click" />
OnClientClick事件一定要return,否则OnClick事件都会执行。
示例代码如下:
哪怕ValidateData()方法始终返回false,但是OnClientClick=”ValidateData();”,所以点击按钮后OnClick事件始终会被触发。
<script type="text/javascript"> function ValidateData() { return false; } </script> <asp:Button ID="btnSubmit" class="btn" runat="server" OnClientClick="ValidateData();" Text="提交" OnClick="btnSubmit_Click" />
相关文章推荐
- Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
- asp.net OnClientClick和OnClick区别
- Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
- Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
- Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
- Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
- Asp.Net中OnClientClick与OnClick的区别
- Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
- Asp.Net 不同区别的 OnClick ( onserverclick, onclientclick )
- Asp.Net中OnClientClick与OnClick 的区别
- Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)
- OnClientClick与OnClick事件(asp.net)
- Asp.Net中OnClientClick与OnClick之我见
- asp.net OnClientClick和OnClick事件
- Asp.Net中OnClientClick与OnClick
- Asp.Net中OnClientClick与OnClick (转)
- asp.net OnClientClick和OnClick
- Asp.Net 不同的OnClick事件区别小结(onserverclick,onclientclick)
- Asp.net 中 OnClientClick 与 OnClick 的执行顺序
- html,html服务器控件,asp。net服务器控件 区别,以及 onclick ,onserverclick ,onclientclick 事件....