ASP.NET按钮导致页面回发

4

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

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

但是警告框从未出现。我必须仅使用ASP.NET按钮而不是HTML按钮。
3个回答

1

请确保引用按钮的ClientID,而不是“普通”的ID。

$("#<%= MyControl.ClientID %>").click(function() {
   alert(...);
   return false;
}

还要确保此代码位于document.ready()处理程序中:

$(document).ready(function() {
    $("#<%= MyControl.ClientID %>").click(function() {
       alert(...);
       return false;
    }
});

我仍然不明白alert()的用法...我已经按照你说的做了。 - Parry

1
尝试让该方法也返回false,在您的按钮onclick事件中添加JavaScript。像这样:
$("#btn").click(function(e) {
    e.preventDefault();
    alert('hi');
    return false;
}

或者像这样将其添加为 onclientclick 函数:

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

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

我不想使用onclientclick。即使使用了preventdefault和return false,它也无效。 - Parry
如果您不需要按钮的服务器功能,则可以删除runat =“server”属性。但是我建议改用标准的<input type =“button”/>。 - Robban

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接