SqlMembershipProvider.FindUsersByEmail(String, Int32, Int32, Int32) 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.
E-posta adresi alanının belirtilen e-posta adresini içerdiği bir üyelik kullanıcıları koleksiyonu döndürür.
public:
override System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public override System.Web.Security.MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords);
override this.FindUsersByEmail : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Overrides Function FindUsersByEmail (emailToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection
Parametreler
- emailToMatch
- String
Aranacak e-posta adresi.
- pageIndex
- Int32
Döndürülecek sonuç sayfasının dizini.
pageIndex
sıfır tabanlıdır.
- pageSize
- Int32
Döndürülecek sonuç sayfasının boyutu.
- totalRecords
- Int32
Eşleşen kullanıcıların toplam sayısı.
Döndürülenler
MembershipUserCollection tarafından pageIndex
belirtilen sayfadan pageSize
MembershipUser başlayan bir nesne sayfası içeren bir.
Özel durumlar
emailToMatch
256 karakterden uzundur.
-veya-
pageIndex
, sıfırdan küçüktür.
-veya-
pageSize
birden azdır.
-veya-
pageIndex
artı pageSize
eksi bir ile pageSize
çarpıldığında Int32.MaxValue değeri aşılır.
Örnekler
Aşağıdaki kod örneği üyelik kullanıcı bilgilerini almak için yöntemini kullanır FindUsersByEmail ve sonuçları veri sayfalarında görüntüler.
Not
Bu örnek, Membership Web.config dosyasında belirtilen öğesini defaultProvider
çağırmak SqlMembershipProvider 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ın özelliğiyle Membership yapılandırılmış adlarıyla Providers 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">
int pageSize = 5;
int totalUsers;
int totalPages;
int currentPage = 1;
private void GetUsers()
{
UserGrid.DataSource = Membership.FindUsersByEmail(EmailTextBox.Text,
currentPage - 1, pageSize, out totalUsers);
totalPages = ((totalUsers - 1) / pageSize) + 1;
// Ensure that we do not navigate past the last page of users.
if (currentPage > totalPages)
{
currentPage = totalPages;
GetUsers();
return;
}
UserGrid.DataBind();
CurrentPageLabel.Text = currentPage.ToString();
TotalPagesLabel.Text = totalPages.ToString();
if (currentPage == totalPages)
NextButton.Visible = false;
else
NextButton.Visible = true;
if (currentPage == 1)
PreviousButton.Visible = false;
else
PreviousButton.Visible = true;
if (totalUsers <= 0)
NavigationPanel.Visible = false;
else
NavigationPanel.Visible = true;
}
public void NextButton_OnClick(object sender, EventArgs args)
{
currentPage = Convert.ToInt32(CurrentPageLabel.Text);
currentPage++;
GetUsers();
}
public void PreviousButton_OnClick(object sender, EventArgs args)
{
currentPage = Convert.ToInt32(CurrentPageLabel.Text);
currentPage--;
GetUsers();
}
public void GoButton_OnClick(object sender, EventArgs args)
{
currentPage = 1;
GetUsers();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users by Email</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Email address to Search for:
<asp:TextBox id="EmailTextBox" runat="server" />
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:Panel id="NavigationPanel" Visible="false" runat="server">
<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td style="width:100">Page <asp:Label id="CurrentPageLabel" runat="server" />
of <asp:Label id="TotalPagesLabel" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="PreviousButton" Text="< Prev"
OnClick="PreviousButton_OnClick" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="NextButton" Text="Next >"
OnClick="NextButton_OnClick" runat="server" /></td>
</tr>
</table>
</asp:Panel>
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</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">
Dim pageSize As Integer = 5
Dim totalUsers As Integer
Dim totalPages As Integer
Dim currentPage As Integer = 1
Private Sub GetUsers()
UserGrid.DataSource = Membership.FindUsersByEmail(EmailTextBox.Text, _
currentPage - 1, pageSize, totalUsers)
totalPages = ((totalUsers - 1) \ pageSize) + 1
' Ensure that we do not navigate past the last page of users.
If currentPage > totalPages Then
currentPage = totalPages
GetUsers()
Return
End If
UserGrid.DataBind()
CurrentPageLabel.Text = currentPage.ToString()
TotalPagesLabel.Text = totalPages.ToString()
If currentPage = totalPages Then
NextButton.Visible = False
Else
NextButton.Visible = True
End If
If currentPage = 1 Then
PreviousButton.Visible = False
Else
PreviousButton.Visible = True
End If
If totalUsers <= 0 Then
NavigationPanel.Visible = False
Else
NavigationPanel.Visible = True
End If
End Sub
Public Sub NextButton_OnClick(sender As Object, args As EventArgs)
currentPage = Convert.ToInt32(CurrentPageLabel.Text)
currentPage += 1
GetUsers()
End Sub
Public Sub PreviousButton_OnClick(sender As Object, args As EventArgs)
currentPage = Convert.ToInt32(CurrentPageLabel.Text)
currentPage -= 1
GetUsers()
End Sub
Public Sub GoButton_OnClick(sender As Object, args As EventArgs)
currentPage = 1
GetUsers()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users by Email</title>
</head>
<body>
<form id="form1" runat="server">
<h3>User List</h3>
Email address to Search for:
<asp:TextBox id="EmailTextBox" runat="server" />
<asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" runat="server" /><br />
<asp:Panel id="NavigationPanel" Visible="False" runat="server">
<table border="0" cellpadding="3" cellspacing="3">
<tr>
<td style="width:100">Page <asp:Label id="CurrentPageLabel" runat="server" />
of <asp:Label id="TotalPagesLabel" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="PreviousButton" Text="< Prev"
OnClick="PreviousButton_OnClick" runat="server" /></td>
<td style="width:60"><asp:LinkButton id="NextButton" Text="Next >"
OnClick="NextButton_OnClick" runat="server" /></td>
</tr>
</table>
</asp:Panel>
<asp:DataGrid id="UserGrid" runat="server"
CellPadding="2" CellSpacing="1"
Gridlines="Both">
<HeaderStyle BackColor="darkblue" ForeColor="white" />
</asp:DataGrid>
</form>
</body>
</html>
Açıklamalar
FindUsersByEmail, e-posta adresinin yapılandırılan ApplicationNameiçin sağlanan emailToMatch
ile eşleşme içerdiği üyelik kullanıcılarının listesini döndürür.
, SqlMembershipProvider LIKE yan tümcesini kullanarak parametre değeriyle emailToMatch
eşleşen bir kullanıcı adı arar. SQL Server joker karakterleri parametre değerine eklenebilir. Örneğin, parametre "address@example.com" olarak ayarlanırsaemailToMatch
, "" e-posta adresineaddress@example.com sahip kullanıcılar için bilgiler (varsa) döndürülür.
emailToMatch
Parametre "%@example.com" olarak ayarlanırsa, "", "",address2@example.comadmin@example.com "address@example.com" vb. e-posta adresine sahip kullanıcılara yönelik bilgiler döndürülür.
tarafından FindUsersByEmail döndürülen sonuçlar ve pageSize
parametreleriyle pageIndex
kısıtlanır. parametresi, pageSize
içinde MembershipUserCollectiondöndürülecek en fazla nesne sayısını MembershipUser tanımlar.
pageIndex
parametresi, döndürülecek sonuç sayfasını ve sıfırın ilk sayfayı tanımladığı sayfayı tanımlar.
totalRecords
parametresi, yapılandırılan applicationName
için üyelik kullanıcılarının toplam sayısına ayarlanmış bir out
parametredir. Örneğin, yapılandırılmış applicationName
için 13 kullanıcı varsa ve pageIndex
değer 5 ile pageSize
1 ise, MembershipUserCollection döndürülenler döndürülen altıncı ile onuncu kullanıcılar arasında yer alır.
totalRecords
parametresi 13 olarak ayarlanır.
Baştaki ve sondaki boşluklar parametre değerinden emailToMatch
kırpılır.