GetUserNameByEmail Method

SqlMembershipProvider.GetUserNameByEmail Method

Gets the user name associated with the specified e-mail address.

Namespace:  System.Web.Security
Assembly:  System.Web (in System.Web.dll)

public override string GetUserNameByEmail(
	string email


Type: System.String
The e-mail address to search for.

Return Value

Type: System.String
The user name associated with the specified e-mail address. If no match is found, this method returns null.


email exceeds 256 characters.


More than one user with the same e-mail address exists in the database and RequiresUniqueEmail is true.

This method is called by the Membership class with an e-mail address, which it uses to retrieve an associated user name from the SQL Server database specified in the ASP.NET application's configuration file (Web.config).

If more than one user in the membership database has the same e-mail address, the first user name encountered is returned. You can set the requiresUniqueEmail attribute to true in the application-configuration file to ensure that each e-mail address in the database is unique.

Leading and trailing spaces are trimmed from the email parameter value.

The following code example retrieves the user name for a specified e-mail address.


This example uses the Membership class to call the SqlMembershipProvider specified as the defaultProvider in the Web.config file. If you need to access the default provider as the type SqlMembershipProvider, you can cast the Provider property of the Membership class. To access other configured providers as a specific provider type, you can access them by their configured name with the Providers property of the Membership class and cast them as the specific provider type.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<script runat="server">

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

  if (username == null)
    Msg.Text = "E-mail address " + Server.HtmlEncode(EmailTextBox.Text) + " is not found. Please reenter.";
    Msg.Text = "The user name for " + Server.HtmlEncode(EmailTextBox.Text) + 
               " is " + Server.HtmlEncode(username) + ".";


<html xmlns="" >
<title>Sample: Retrieve Username By E-mail</title>

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

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

  E-mail 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" />



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

© 2015 Microsoft