PasswordRecovery.VerifyingUser Händelse
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Inträffar innan användarnamnet verifieras av medlemskapsprovidern.
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
Händelsetyp
Exempel
I följande kodexempel används VerifyingUser händelsen för att kontrollera om det skickade användarnamnet är formaterat som en giltig e-postadress. Om användarnamnet inte är korrekt UserNameInstructionText formaterat ändras egenskapen för att visa felet.
<%@ 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>
Kommentarer
Händelsen VerifyingUser utlöses på servern innan användarnamnet skickas till medlemskapsprovidern för att avgöra om användarnamnet är giltigt. Använd den här händelsen för att utföra alla förbearbetningar som krävs för användarnamnet, till exempel konvertera det till alla versaler eller gemener, eller kontrollera att användarnamnet är i ett visst format, till exempel en e-postadress.
Kontrollen PasswordRecovery genererar först händelsen och använder sedan den medlemskapsprovider VerifyingUser som anges i MembershipProvider egenskapen för att avgöra om det angivna användarnamnet är ett giltigt användarnamn för webbplatsen. Om den är giltig och medlemskapsprovidern stöder frågor och svar om lösenord returneras frågan om lösenordsverifiering från webbplatsen och PasswordRecovery kontrollen visar frågevyn. Om användarnamnet inte är giltigt visas texten i GeneralFailureText egenskapen i vyn Användarnamn så att användaren kan ange ett annat användarnamn.
Om medlemskapsprovidern inte stöder frågor och svar om SendingMail lösenord genereras händelsen och e-postmeddelandet skickas till användaren med det nya eller återställda lösenordet.
Mer information om hur du hanterar händelser finns i Hantera och höja händelser.