Asp.Net 之 OnClientClick 与 OnClick 的执行顺序
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>