SqlMembershipProvider.GetUserNameByEmail(String) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Belirtilen e-posta adresiyle ilişkili kullanıcı adını alır.
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
Parametreler
- String
Aranacak e-posta adresi.
Döndürülenler
Belirtilen e-posta adresiyle ilişkilendirilmiş kullanıcı adı. Eşleşme bulunmazsa, bu yöntem döndürür null.
Özel durumlar
email 256 karakteri aşıyor.
Veritabanında aynı e-posta adresine sahip birden fazla kullanıcı vardır ve RequiresUniqueEmail şeklindedir true.
Örnekler
Aşağıdaki kod örneği, belirtilen e-posta adresinin kullanıcı adını alır.
Uyarı
Bu örnek, Membership Web.config dosyasında belirtilen öğesini olarak çağırmak SqlMembershipProviderdefaultProvider için sınıfını kullanır. türü SqlMembershipProviderolarak varsayılan sağlayıcıya erişmeniz gerekiyorsa, sınıfının özelliğini Membership yayınlayabilirsinizProvider. Belirli bir sağlayıcı türü olarak yapılandırılan diğer sağlayıcılara erişmek için, bu sağlayıcılara sınıfın ProvidersMembership özelliğiyle yapılandırılmış adlarıyla erişebilir ve bunları belirli sağlayıcı türü olarak yayınlayabilirsiniz.
<%@ 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>
Açıklamalar
Bu yöntem, ASP.NET uygulamasının Membership yapılandırma dosyasında (Web.config) belirtilen SQL Server veritabanından ilişkili kullanıcı adını almak için kullandığı bir e-posta adresiyle sınıf tarafından çağrılır.
Üyelik veritabanında birden fazla kullanıcı aynı e-posta adresine sahipse, karşılaşılan ilk kullanıcı adı döndürülür. Veritabanındaki her e-posta adresinin requiresUniqueEmail benzersiz olduğundan emin olmak için özniteliğini true uygulama yapılandırma dosyasında olarak ayarlayabilirsiniz.
Baştaki ve sondaki boşluklar parametre değerinden email kırpılır.