[英]why my onauthenticate event handler being called twice sometimes?
我正在使用asp:login控件來驗證用戶名和密碼。 以下是控件。 為了跟蹤登錄嘗試,我使用了會話變量LoginCount。 我們只允許嘗試3次。 另外,我們使用WebControlAdapter來定制asp:login控件。 但是,有時,事件處理程序Login1_Authenticat有時會被調用兩次,這會使LoginCount增加2,僅需嘗試一次。 有人可以幫我弄清楚哪里出了問題嗎?
<asp:Login
ID="Login1"
runat="server"
OnAuthenticate="Login1_Authenticate"
DestinationPageUrl="index.aspx" TitleText="" DisplayRememberMe="false" UserNameRequiredErrorMessage="Username is required." PasswordRequiredErrorMessage="Password is required."
/>
public class LoginAdapter : System.Web.UI.WebControls.Adapters.WebControlAdapter
{
private enum State
{
LoggingIn,
Failed,
Success,
}
State _state = State.LoggingIn;
...
public LoginAdapter()
{
_state = State.LoggingIn;
}
/// ///////////////////////////////////////////////////////////////////////////////
/// PROTECTED
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
Login login = Control as Login;
if (Extender.AdapterEnabled && (login != null))
{
RegisterScripts();
login.LoggedIn += OnLoggedIn;
login.LoginError += OnLoginError;
_state = State.LoggingIn;
}
}
...
更新:原來是LoginAdapter中的錯誤。 我厭倦了以下鏈接中提供的修復程序,它可以正常工作。 https://cssfriendly.codeplex.com/workitem/234
也許是因為您的用戶在“登錄”按鈕上單擊了兩次? 在發布到服務器之前使用一些js代碼禁用客戶端中的按鈕該怎么辦? 向OnClientClick添加javascript函數以禁用該按鈕並避免這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.