SqlMembershipProvider.GetUserNameByEmail Method (String)


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.

Exception Condition

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="http://www.w3.org/1999/xhtml" >
<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
Available since 2.0
Return to top