代码之家  ›  专栏  ›  技术社区  ›  Abe Miessler

是否可以使用jquery/javascript停止ASP.NET事件?

  •  4
  • Abe Miessler  · 技术社区  · 14 年前

    在ASPX页面中,我有如下代码:

    function CheckEditing() {
          var answer = confirm('You are currently editing an item.  If you continue to the next page your changes will not be saved.  Would you like to continue?');
          if(!answer)
          {
              return false;
          }
          return true;
    }
    
    <asp:Button ID="btn_Next" runat="server" Text="Next" onclick="btn_Next_Click" OnClientClick="CheckEditing();" />
    

    我原以为返回false会阻止我的ASP.NET onclick被触发,但它仍然可以。我已经确认它正在到达 return false 使用警报的代码部分。我能做些什么来阻止它使用jquery/javascript触发吗?

    2 回复  |  直到 13 年前
        1
  •  4
  •   Nick Craver    14 年前

    改变你 OnClientClick 这样地:

    OnClientClick="if(!CheckEditing()) return false;"
    

    因为它呈现为 if(!CheckEditing()) return false; ASPNetFunction() 您不希望直接返回,否则第二个函数将 从未 跑。

        2
  •  0
  •   Kushal Vaghani    14 年前

    你也可以通过这种方式来实现这一点。

    使用适当的客户端验证函数声明自定义验证程序

    现在,作为按钮的一部分,将验证组设置为与自定义验证程序相同。

    在函数checkediting()内,设置args.isvalid=false以不进入onclick事件

    函数检查编辑(源,参数) { /… args.isvalid=false; }