OnClientClick 是客户端事件处理方法,一般采用JavaScript来进行处理,也就是直接在IE端运行,一点击就运行。
OnClick 是服务器端事件处理方法,在服务器端也就是IIS中运行,点击后,先执行postback,再运行。
Asp.net 中 OnClientClick 与 OnClick 的执行顺序为:客户端的OnClientClick先执行,服务器端的OnClick后执行。
拓展:在执行完客户端的OnClientClick事件后,可以以返回值的方式决定服务器端的OnClick事件是否能够被执行。
即:如果在OnClientClick所对应的前台方法中返回true,那么服务器端OnClick所对应的方法可以继续被执行;
如果在OnClientClick所对应的前台方法中返回false,那么服务器端OnClick所对应的方法将被截断,不会继续执行。
利用这一个特点可以进行客户端的验证处理,客户端验证通过了,那么继续执行服务器端的处理方法;如果客户端验证没通过,那么提示错误信息。
比如以下实例:saveFunc对数据进行验证,当验证通过返回true时,执行服务器端方法进行保存,验证不通过返回false,服务器端的保存方法就不会执行。
<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="btnSave_Click" OnClientClick="return saveFunc();" />