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,然后到服务器端执行服务器的相关代码。

 

posted @ 2017-06-14 10:50  Pumpkin_L  阅读(1611)  评论(0编辑  收藏  举报