防止从JavaScript中触发代码隐藏事件?

时间:2011-07-22 03:46:41

标签: javascript asp.net vb.net

我希望这个ASP按钮控件在JavaScript客户端方法IsCorrectPrice()返回false时停止调用其事件处理程序。

<asp:Button ID="btnsubmit" runat="server" 
            Text="Submit" OnClientClick="javascript:IsCorrectPrice()"/>


btnsubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
  Handles btnsubmit.Click

如何做到这一点?

2 个答案:

答案 0 :(得分:5)

将您的OnClientClick更改为:

OnClientClick="return IsCorrectPrice();"

答案 1 :(得分:0)

如果您可以选择使用jQuery,则可以使用此..

$("#btnsubmit").click(function() {
   if (!IsCorrectPrice()) {
      e.preventDefault();
   }
});

*注意:

在最基本的场景之后,使用DOM中的OnClientClick开始变得无法维护。

此外,#btnsubmit可能不是您的按钮的确切ID,但这取决于您使用的ASP.Net版本,如果您使用的是4,则ClientIdMode设置为。