ASP.NET按钮导致回发

ASP.NET按钮导致回发,asp.net,jquery,Asp.net,Jquery,我在页面上有一个asp.net按钮。我正在尝试这样做: $("#btn").click(function(e) { e.preventDefault(); alert('hi'); } 但警报从未出现。我只能使用ASP.NET按钮,不能使用HTML按钮 确保引用的是按钮的ClientID,而不是“正常”ID $(“#”)点击(函数(){ 警惕(…); 返回false; } 还要确保它位于document.ready()处理程序中: $(文档).

我在页面上有一个asp.net按钮。我正在尝试这样做:

    $("#btn").click(function(e) {
        e.preventDefault();
        alert('hi');
    }

但警报从未出现。我只能使用ASP.NET按钮,不能使用HTML按钮

确保引用的是按钮的ClientID,而不是“正常”ID

$(“#”)点击(函数(){
警惕(…);
返回false;
}
还要确保它位于document.ready()处理程序中:

$(文档).ready(函数(){
$(“#”)单击(函数(){
警惕(…);
返回false;
}
});

尝试让该方法也返回false,然后单击按钮添加javascript。如下所示:

$("#btn").click(function(e) {
    e.preventDefault();
    alert('hi');
    return false;
}
或者将其添加为onclientclick函数,如下所示:

 function ClickFunction() {
     alert('hi');
     return false;
 }

 <asp:Button OnClientClick="return Clickfunction();" />
函数点击函数(){
警报(“hi”);
返回false;
}

好的,我在这里找到答案了


我丢失了
$(文档)。准备好了(函数()
。我太傻了!

我仍然没有收到警报()…我完全按照您所说的做了。我不想使用onclientclick。即使在使用了前面的默认值并返回false之后,它也不起作用。如果您不需要按钮的服务器功能,您可以做的是删除runat=“server”属性。但是,我建议改用标准。
$("#btn").click(function(e) {
    e.preventDefault();
    alert('hi');
    return false;
}
 function ClickFunction() {
     alert('hi');
     return false;
 }

 <asp:Button OnClientClick="return Clickfunction();" />