SqlMembershipProvider.FindUsersByEmail(String, Int32, Int32, Int32) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mengembalikan kumpulan pengguna keanggotaan yang bidang alamat emailnya berisi alamat email yang ditentukan.
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
Parameter
- emailToMatch
- String
Alamat email yang akan dicari.
- pageIndex
- Int32
Indeks halaman hasil yang akan dikembalikan.
pageIndex adalah berbasis nol.
- pageSize
- Int32
Ukuran halaman hasil yang akan dikembalikan.
- totalRecords
- Int32
Jumlah total pengguna yang cocok.
Mengembalikan
Yang MembershipUserCollection berisi halaman pageSizeMembershipUser objek yang dimulai di halaman yang ditentukan oleh pageIndex.
Pengecualian
emailToMatch lebih panjang dari 256 karakter.
-atau-
pageIndex kurang dari nol.
-atau-
pageSize kurang dari satu.
-atau-
pageIndex dikalikan dengan pageSize plus pageSize minus satu melebihi Int32.MaxValue.
Contoh
Contoh kode berikut menggunakan FindUsersByEmail metode untuk mengambil informasi pengguna keanggotaan dan menampilkan hasilnya di halaman data.
Nota
Contoh ini menggunakan Membership kelas untuk memanggil SqlMembershipProvider yang ditentukan sebagai defaultProvider dalam file Web.config. Jika Anda perlu mengakses penyedia default sebagai jenis SqlMembershipProvider, Anda dapat melemparkan Provider properti Membership kelas. Untuk mengakses penyedia lain yang dikonfigurasi sebagai jenis penyedia tertentu, Anda dapat mengaksesnya dengan nama yang dikonfigurasi dengan Providers properti Membership kelas dan mentransmisikannya sebagai jenis penyedia tertentu.
<%@ 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>
Keterangan
FindUsersByEmail mengembalikan daftar pengguna keanggotaan di mana alamat email berisi kecocokan dengan yang disediakan emailToMatch untuk yang dikonfigurasi ApplicationName.
Pencarian SqlMembershipProvider untuk nama pengguna yang cocok dengan emailToMatch nilai parameter, menggunakan klausa LIKE. Karakter kartubebas SQL Server dapat disertakan dalam nilai parameter. Misalnya, jika emailToMatch parameter diatur ke "address@example.com", maka informasi untuk pengguna dengan alamat email "address@example.com" dikembalikan, jika ada.
emailToMatch Jika parameter diatur ke "%@example.com", maka informasi untuk pengguna dengan alamat email "address@example.com", "address2@example.com", "admin@example.com", dan sebagainya dikembalikan.
Hasil yang dikembalikan oleh FindUsersByEmail dibatasi oleh pageIndex parameter dan pageSize . Parameter pageSize mengidentifikasi jumlah MembershipUser maksimum objek yang akan dikembalikan dalam MembershipUserCollection. Parameter pageIndex mengidentifikasi halaman hasil mana yang akan dikembalikan, di mana nol mengidentifikasi halaman pertama. Parameter totalRecords adalah out parameter yang diatur ke jumlah total pengguna keanggotaan untuk yang dikonfigurasi applicationName. Misalnya, jika ada 13 pengguna untuk yang dikonfigurasi applicationName, dan pageIndex nilainya adalah 1 dengan pageSize 5, yang MembershipUserCollection dikembalikan akan berisi pengguna keenam hingga kesepuluh yang dikembalikan. Parameter totalRecords akan diatur ke 13.
Spasi di depan emailToMatch dan di belakang dipangkas dari nilai parameter.