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

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

適用於

另請參閱