1

asp.net ページにログイン コントロールがあります。MSDN では、FailureText プロパティが指定されていない場合、デフォルトで「ログイン試行に失敗しました。もう一度やり直してください」と指定されています。

Login1_LoggingIn イベントでログイン失敗時にカスタム メッセージを入力する必要があったため、パスワードが 4 回間違って入力されると、アカウントがロックされ、このイベントでユーザーに通知されます。

ただし、ロック時間が切れた後、デフォルトの「ログイン試行に失敗しました。もう一度やり直してください」というメッセージに戻す必要があります。FailureText プロパティをデフォルトの状態に戻す方法はありますか?

問題は、上記のイベントで FailureText を上書きすると、その後のすべてのポストバックでその状態が維持されることです。

ありがとう、

4

1 に答える 1

2

Login1_LoginError イベントにフックして、そこからメッセージを変更できるはずです。その後、失敗が発生するたびに何を表示するかを決定できます。

private void Login1_LoginError(object sender, EventArgs e)
{
    failureCount++; //Retrieve this from Database or something

    if (failureCount >= 4)
    {
        Login1.FailureText = "Account is locked";
    }
    else
    {
        Login1.FailureText = "Your login attempt has failed. Please try again";
    }
}
于 2012-04-25T14:46:18.737 に答える