2013-11-22 48 views
2

我有UseSubmitBehavior一個asp.net按鈕= 「假」 是這樣的:停止asp.net回發時UseSubmitBehavior = 「假」

<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; 
      } 

我想停止回發時輸入無效,但它不工作。請建議我如何停止回發

+0

頁面做回發意味着你的JavaScript代碼是錯誤的。你有沒有試圖找出它出現錯誤? –

+1

當UseSubmitBehavior =「false」被添加到asp.net按鈕時,則會自動將_doPostback()添加到按鈕。 – DotnetSparrow

+1

你真的需要'UseSubmitBehavior'嗎?你可以擺脫這一點,並明確定義「OnClick」。除非OnClientClick返回true,否則OnClick不會觸發。 – Abhitalks

回答

1

我不知道你的問題是否與我一樣。 裏面updatepanel時,我把UseSubmitBehavior = false頁面使回發。

所以我把一個defaultbutton面板,如:

<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>