Udostępnij za pośrednictwem


PasswordRecovery.VerifyingUser Zdarzenie

Definicja

Występuje przed zweryfikowaniem nazwy użytkownika przez dostawcę członkostwa.

public:
 event System::Web::UI::WebControls::LoginCancelEventHandler ^ VerifyingUser;
public event System.Web.UI.WebControls.LoginCancelEventHandler VerifyingUser;
member this.VerifyingUser : System.Web.UI.WebControls.LoginCancelEventHandler 
Public Custom Event VerifyingUser As LoginCancelEventHandler 

Typ zdarzenia

Przykłady

Poniższy przykład kodu używa VerifyingUser zdarzenia, aby sprawdzić, czy przesłana nazwa użytkownika jest sformatowana jako prawidłowy adres e-mail. Jeśli nazwa użytkownika nie jest poprawnie sformatowana, właściwość zostanie zmieniona w UserNameInstructionText celu wyświetlenia błędu.

<%@ page language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

bool IsValidEmail(string strIn)
{
    // Return true if strIn is in valid email format.
    return Regex.IsMatch(strIn, @"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"); 
}

void PasswordRecovery1_VerifyingUser(object sender, System.Web.UI.WebControls.LoginCancelEventArgs e)
{
    if (!IsValidEmail(PasswordRecovery1.UserName))
    {
        PasswordRecovery1.UserNameInstructionText = "You must enter a valid email address.";
        e.Cancel = true;
    }
    else
    {
            PasswordRecovery1.UserNameInstructionText = "Enter your User Name to receive your password.";
    }
}

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:passwordrecovery id="PasswordRecovery1" 
        runat="server" 
        onverifyinguser="PasswordRecovery1_VerifyingUser">
      </asp:passwordrecovery>
    </form>
  </body>
</html>
<%@ page language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

    Function IsValidEmail(ByVal strIn As String) As Boolean
        ' Return true if strIn is in valid email format.
        Return Regex.IsMatch(strIn, ("^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$"))
    End Function

    Sub PasswordRecovery1_VerifyingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)
        If Not IsValidEmail(PasswordRecovery1.UserName) Then
            PasswordRecovery1.UserNameInstructionText = "You must enter a valid email address."
            e.Cancel = True
        Else
            PasswordRecovery1.UserNameInstructionText = "Enter your User Name to receive your password."
        End If
    End Sub
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:passwordrecovery id="PasswordRecovery1" 
        runat="server" 
        onverifyinguser="PasswordRecovery1_VerifyingUser">
      </asp:passwordrecovery>
    </form>
  </body>
</html>

Uwagi

Zdarzenie VerifyingUser jest wywoływane na serwerze przed przesłaniem nazwy użytkownika do dostawcy członkostwa w celu określenia, czy nazwa użytkownika jest prawidłowa. To zdarzenie służy do wykonywania dowolnego wstępnego przetwarzania wymaganego dla nazwy użytkownika, na przykład konwertowania go na wszystkie wielkie lub małe litery, lub sprawdzania, czy nazwa użytkownika jest w określonym formacie, takim jak adres e-mail.

Kontrolka PasswordRecovery najpierw wywołuje VerifyingUser zdarzenie, a następnie używa dostawcy członkostwa określonego MembershipProvider we właściwości, aby określić, czy wprowadzona nazwa użytkownika jest prawidłową nazwą użytkownika witryny sieci Web. Jeśli jest to prawidłowe, a dostawca członkostwa obsługuje pytanie i odpowiedź na hasło, pytanie weryfikacyjne hasła jest zwracane z witryny sieci Web, a kontrolka PasswordRecovery wyświetla widok Pytanie. Jeśli nazwa użytkownika jest nieprawidłowa, tekst we właściwości jest wyświetlany w GeneralFailureText widoku UserName, aby użytkownik mógł wprowadzić inną nazwę użytkownika.

Jeśli dostawca członkostwa nie obsługuje pytania i odpowiedzi na hasło, SendingMail zdarzenie jest zgłaszane, a wiadomość e-mail jest wysyłana do użytkownika przy użyciu nowego lub odzyskanego hasła.

Aby uzyskać więcej informacji na temat obsługi zdarzeń, zobacz Obsługa i podnoszenie zdarzeń.

Dotyczy

Zobacz też