Поделиться через


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 возникает событие, и пользователю отправляется сообщение электронной почты с новым или восстановленным паролем.

Дополнительные сведения об обработке событий см. в разделе Обработка и вызов событий.

Применяется к

См. также раздел