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 文字會顯示在使用者名稱檢視中,讓使用者輸入不同的使用者名稱。
若會員提供者不支援密碼問答, SendingMail 事件會被觸發,並會寄送電子郵件給使用者,提供新密碼或已恢復的密碼。
如需處理事件的詳細資訊,請參閱 處理和引發事件。