Asp.net 中 OnClientClick 与 OnClick 的执行顺序为:客户端的OnClientClick先执行,服务器端的OnClick后执行。
拓展:在执行完客户端的OnClientClick事件后,可以以返回值的方式决定服务器端的OnClick事件是否能够被执行。
即:如果在OnClientClick所对应的前台方法中返回true,那么服务器端OnClick所对应的方法可以继续被执行;
如果在OnClientClick所对应的前台方法中返回false,那么服务器端OnClick所对应的方法将被截断,不会继续执行。
利用这一个特点可以进行客户端的验证处理,客户端验证通过了,那么继续执行服务器端的处理方法;如果客户端验证没通过,那么提示错误信息。
代码实例
<script language="javascript" type="text/javascript">
function buttonClick() {
alert("我是客户端点击事件");
return false;
}
</script>
protected void Button1_Click(object sender, EventArgs e)
{
this.Label1.Text = "我是服务端点击事件";
}
<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>
本文介绍了ASP.NET中OnClientClick与OnClick事件的执行顺序及如何利用这些特性进行客户端验证。当OnClientClick返回true时,服务器端的OnClick事件将继续执行;反之则被截断。
911

被折叠的 条评论
为什么被折叠?



