PasswordRecovery.VerifyingUser Zdarzenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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ń.