SqlMembershipProvider.GetUserNameByEmail(String) 方法      
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取与指定电子邮件地址关联的用户名。
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
	参数
- String
 
要搜索的电子邮件地址。
返回
与指定电子邮件地址关联的用户名。 如果未找到匹配项,此方法将返回 null。
例外
              email 的长度超过 256 个字符。
数据库中存在多个具有相同电子邮件地址的用户,并且 RequiresUniqueEmail 为 true。
示例
下面的代码示例检索指定电子邮件地址的用户名。
注意
此示例使用 Membership 类调用 SqlMembershipProvider 指定为 defaultProvider Web.config 文件中的 。 如果需要访问类型 为 SqlMembershipProvider的默认提供程序,则可以强制转换 Provider 类的 Membership 属性。 若要以特定提供程序类型的形式访问其他已配置的提供程序,可以使用 类的 Membership 属性按配置的名称Providers对其进行访问,并将其强制转换为特定的提供程序类型。
<%@ 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 类使用电子邮件地址调用,该类使用该电子邮件地址从 ASP.NET 应用程序的配置文件 (Web.config) 中指定的 SQL Server 数据库中检索关联的用户名。
如果成员资格数据库中的多个用户具有相同的电子邮件地址,则返回遇到的第一个用户名。 可以在应用程序配置文件中将 requiresUniqueEmail 属性 true 设置为 ,以确保数据库中的每个电子邮件地址都是唯一的。
删除 email 参数值的前导和尾随空格。