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


SqlMembershipProvider.GetUserNameByEmail(String) Метод

Определение

Возвращает имя пользователя, связанное с указанным адресом электронной почты.

public:
 override System::String ^ GetUserNameByEmail(System::String ^ email);
public override string GetUserNameByEmail (string email);
override this.GetUserNameByEmail : string -> string
Public Overrides Function GetUserNameByEmail (email As String) As String

Параметры

email
String

Адрес электронной почты для поиска.

Возвращаемое значение

Имя пользователя, связанное с указанным адресом электронной почты. Если такой адрес не найден, метод возвращает значение null.

Исключения

Длина параметра email превышает 256 символов.

В базе данных существует несколько пользователей с одинаковым адресом электронной почты, и свойству RequiresUniqueEmail присвоено значение true.

Примеры

В следующем примере кода извлекается имя пользователя для указанного адреса электронной почты.

Примечание

В этом примере класс используется Membership для вызова указанного SqlMembershipProvider объекта в качестве defaultProvider в файле Web.config. Если необходимо получить доступ к поставщику по умолчанию в качестве типа SqlMembershipProvider, можно привести Provider свойство Membership класса . Чтобы получить доступ к другим настроенным поставщикам в качестве определенного типа поставщика, вы можете получить к ним доступ по их заданному имени со Providers свойством Membership класса и привести их к определенному типу поставщика.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void Search_OnClick(object sender, EventArgs args)
{
  string username = Membership.GetUserNameByEmail(EmailTextBox.Text);

  if (username == null)
  {
    Msg.Text = "Email address " + Server.HtmlEncode(EmailTextBox.Text) + " is not found. Please reenter.";
  }
  else
  {
    Msg.Text = "The user name for " + Server.HtmlEncode(EmailTextBox.Text) + 
               " is " + Server.HtmlEncode(username) + ".";
  }

}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Retrieve Username By Email</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Forgot your Username? Search for it by email address.</h3>

  <asp:Label id="Msg" runat="server" ForeColor="maroon" /><br />

  Email address: <asp:Textbox id="EmailTextBox" Columns="30" runat="server" />
                  <asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server"
                                        ControlToValidate="EmailTextBox" ForeColor="red"
                                        Display="Static" ErrorMessage="Required" /><br />

  <asp:Button id="SearchButton" Text="Search" 
              OnClick="Search_OnClick" runat="server" />

</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

Public Sub Search_OnClick(sender As Object, args As EventArgs)

  Dim username As String = Membership.GetUserNameByEmail(EmailTextBox.Text)

  If username Is Nothing Then
    Msg.Text = "Email address " & Server.HtmlEncode(EmailTextBox.Text) & " is not found. Please reenter."
  Else
    Msg.Text = "The user name for " & Server.HtmlEncode(EmailTextBox.Text) & _
               " is " & Server.HtmlEncode(username) & "."
  End If

End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Retrieve Username By Email</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Forgot your Username? Search for it by email address.</h3>

  <asp:Label id="Msg" runat="server" ForeColor="maroon" /><br />

  Email address: <asp:Textbox id="EmailTextBox" Columns="30" runat="server" />
                  <asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server"
                                        ControlToValidate="EmailTextBox" ForeColor="red"
                                        Display="Static" ErrorMessage="Required" /><br />

  <asp:Button id="SearchButton" Text="Search" 
              OnClick="Search_OnClick" runat="server" />

</form>

</body>
</html>

Комментарии

Этот метод вызывается классом Membership с адресом электронной почты, который используется для получения связанного имени пользователя из базы данных SQL Server, указанной в файле конфигурации приложения ASP.NET (Web.config).

Если несколько пользователей в базе данных членства имеют один и тот же адрес электронной почты, возвращается первое имя пользователя. Вы можете задать атрибуту requiresUniqueEmail значение true в файле конфигурации приложения, чтобы убедиться, что каждый адрес электронной почты в базе данных является уникальным.

Начальные и конечные пробелы удаляются из значения параметра email.

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

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