onclick、onserverclick、onclientclick三者的区别
一、HTML控件,如input还有a标签,只有onclick ( 客户端)和onserverclick(服务端)事件,而没有onclientclick事件。
(1).onclick(客户端)事件
<input type="button" value="按钮" onclick="Myonclick()" />
然后js调用
<script> function Myonclick() { alert("触发了onclick事件!"); } </script>
(2).onserverclick(服务端)事件 (注意这里要加上 runat="server" )
<input type="button" value="按钮" id="btn" onserverclick="btn_ClickServer" runat="server"/>
.cs代码
public void btn_ClickServer(object sender, EventArgs e) { string str = "<script>alert('你触发了onclickServer事件');</script>"; Response.Write(str); Response.End(); }
以上的是onclick 先于onserverclick执行。
二、WEB控件,如<asp:button>等,只有onclientclick( 客户端)和onclick (服务端)事件,而没有onserverclick事件
(1).onclientclick( 客户端)事件
<asp:Button ID="btnDelete" Text="删除" runat="server" OnClientClick="return ifDelete(this);" OnClick="btnDelete_Click" />
上面的则是onclientclick先于onclick 执行。
注意:当onclick事件与onserverclick()事件一起使用时,onclick事件先执行,但是不要加runat="server"属性,否则客户端js文件无法被调用。
总之,客户端点击事件先于服务器点击事件执行。也就是说,先执行客户端的js,然后到服务器端执行服务器的相关代码。