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)

'Declaration
Public Overrides Function GetUserNameByEmail ( _
	email As String _
) As String
'Usage
Dim instance As SqlMembershipProvider
Dim email As String
Dim returnValue As String

returnValue = instance.GetUserNameByEmail(email)
public String GetUserNameByEmail (
	String email
)
public override function GetUserNameByEmail (
	email : String
) : String
Not applicable.

Parameters

email

The e-mail address to search for.

Return Value

The user name associated with the specified e-mail address. If no match is found, this method returns a null reference (Nothing in Visual Basic).

Exception typeCondition

System.ArgumentException

email exceeds 256 characters.

System.Configuration.Provider.ProviderException

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.

NoteNote:

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="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 = "E-mail 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 E-mail</title>
</head>
<body>

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

</form>

</body>
</html>

Windows 98, Windows Server 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

ADD
Show: