当UseSubmitBehavior =“false”时停止asp.net回发

时间:2013-11-22 11:43:57

标签: c# javascript jquery asp.net

我有一个带有UseSubmitBehavior =“false”的asp.net按钮,如下所示:

  <asp:Button ID="btnLogin" runat="server" UseSubmitBehavior="false"    OnClientClick="if (!LoginPopup()) {return false;}" CssClass="login-button" Text="<%$ Resources: HRGELoggedOutMaster, Login %>"> </asp:Button>

和js的功能如下:

 function LoginPopup() {       
        var username = $("#<%= UsernameTextBox.ClientID %>").val();
        var password = $("#<%= PasswordTextBox.ClientID %>").val();
        var remMe;
        if ($('#<%= chkRememberMe.ClientID %>').attr('checked') == "checked") {
            remMe = true;
        }
        else {
            remMe = false;
        }

        if (username != '' && password != '')
            CallPageMethod("LoginPopup", ["username", username, "password", password, "rememberMe", remMe], LoginPopupSucceeded, LoginPopupFailed);
        else
            alert("Invalid username/password");
            return false;
    }

我在这样的文本框的按键上调用它:

   $("#<%=this.UsernameTextBox.ClientID%>").keypress(function (event) {
           fireButtonClick($("#<%=this.btnLogin.ClientID%>"), event);
        });



 function fireButtonClick(ctrl, event) {
        if (event.which || event.keyCode) {
            if ((event.which == 13) || (event.keyCode == 13)) {
                ctrl.click();
                return false;
            }

我想在输入无效时停止回发,但它不起作用。请建议我如何停止回发

1 个答案:

答案 0 :(得分:1)

我不知道你的问题是否与我的问题相同。 当我将UseSubmitBehavior = false放入页面进行回发时,在updatepanel内部。

所以我在面板中放了一个默认按钮,例如:

<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional" defaultbutton="btnDisableEnter"> 
<ContentTemplate> 
    <asp:Button ID="btnDisableEnter" runat="server" Text="fake button" OnClientClick="return false;" style="display:none;"/>
</ContentTemplate></asp:UpdatePanel>