共用方式為


PasswordRecovery.VerifyingUser 事件

定義

在成員資格提供者驗證使用者名稱之前發生。

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 引發事件,並傳送電子郵件給具有新密碼或已復原密碼的使用者。

如需處理事件的詳細資訊,請參閱 處理和引發事件

適用於

另請參閱