PasswordRecovery.VerifyingUser 事件
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在成員資格提供者驗證使用者名稱之前發生。
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
事件類型
範例
下列程式代碼範例會 VerifyingUser 使用 事件來檢查提交的用戶名稱是否格式化為有效的電子郵件位址。 如果使用者名稱的格式不正確,屬性 UserNameInstructionText 會變更為顯示錯誤。
<%@ 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>
備註
在使用者名稱提交至成員資格提供者之前,會在 VerifyingUser 伺服器上引發事件,以判斷用戶名稱是否有效。 使用此事件可執行使用者名稱所需的任何前置處理,例如將它轉換成所有大寫或小寫字母,或確認使用者名稱的格式為特定格式,例如電子郵件位址。
控件 PasswordRecovery 會先引發 VerifyingUser 事件,然後使用 屬性中指定的 MembershipProvider 成員資格提供者來判斷輸入的用戶名稱是否為網站的有效用戶名稱。 如果有效,而且成員資格提供者支援密碼問題和答案,則會從網站傳回密碼驗證問題,而 PasswordRecovery 控件會顯示 [問題] 檢視。 如果使用者名稱無效,屬性中的 GeneralFailureText 文字會顯示在UserName檢視中,讓使用者可以輸入不同的用戶名稱。
如果成員資格提供者不支援密碼問題和答案,就會 SendingMail 引發事件,並傳送電子郵件給具有新密碼或已復原密碼的使用者。
如需處理事件的詳細資訊,請參閱 處理和引發事件。