Udostępnij za pośrednictwem


Membership.FindUsersByEmail Metoda

Definicja

Pobiera kolekcję użytkowników członkostwa, na których adres e-mail zawiera określony adres e-mail zgodny.

Przeciążenia

FindUsersByEmail(String, Int32, Int32, Int32)

Pobiera kolekcję użytkowników członkostwa na stronie danych, na której adres e-mail zawiera określony adres e-mail do dopasowania.

FindUsersByEmail(String)

Pobiera kolekcję użytkowników członkostwa, na których adres e-mail zawiera określony adres e-mail zgodny.

FindUsersByEmail(String, Int32, Int32, Int32)

Pobiera kolekcję użytkowników członkostwa na stronie danych, na której adres e-mail zawiera określony adres e-mail do dopasowania.

public:
 static System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public static System.Web.Security.MembershipUserCollection FindUsersByEmail (string emailToMatch, int pageIndex, int pageSize, out int totalRecords);
static member FindUsersByEmail : string * int * int * int -> System.Web.Security.MembershipUserCollection
Public Shared Function FindUsersByEmail (emailToMatch As String, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As MembershipUserCollection

Parametry

emailToMatch
String

Adres e-mail do wyszukania.

pageIndex
Int32

Indeks strony wyników do zwrócenia. Funkcja pageIndex rozpoczyna liczenie od zera.

pageSize
Int32

Rozmiar strony wyników do zwrócenia.

totalRecords
Int32

Całkowita liczba dopasowanych użytkowników.

Zwraca

Element MembershipUserCollection , który zawiera stronę obiektów rozpoczynających pageSizeMembershipUser się na stronie określonej przez pageIndex.

Wyjątki

Parametr pageIndex ma wartość niższą niż zero.

-lub-

pageSize wartość jest mniejsza niż 1.

Przykłady

Poniższy przykład kodu używa FindUsersByEmail metody do pobierania informacji o użytkowniku członkostwa z bazy danych członkostwa na podstawie danych wejściowych użytkownika i wyświetla wyniki na stronach danych.

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.

<%@ 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>

Uwagi

FindUsersByEmail Zwraca listę użytkowników członkostwa, w których adres e-mail jest zgodny z podanym emailToMatch dla skonfigurowanego applicationNameelementu .

Funkcja SqlMembershipProvider wykonuje wyszukiwanie przy użyciu klauzuli LIKE względem parametru emailToMatch . Wszystkie symbole wieloznaczne obsługiwane przez program SQL Server w klauzulach LIKE mogą być używane w wartości parametru emailToMatch .

Wyniki zwracane przez FindUsersByEmail element są ograniczone przez pageIndex parametry i pageSize . Parametr pageSize identyfikuje maksymalną liczbę MembershipUser obiektów, które mają być zwracane w obiekcie MembershipUserCollection. Parametr pageIndex określa, która strona wyników ma być zwracana, gdzie 0 identyfikuje pierwszą stronę. Parametr totalRecords jest parametrem ustawionym out na całkowitą liczbę użytkowników członkostwa pasujących do emailToMatch wartości. Jeśli na przykład 13 użytkowników zostało znalezionych, gdzie emailToMatch dopasowano część lub cały adres e-mail, a pageIndex wartość wynosiła 1 z wartością pageSize 5, MembershipUserCollection zwrócona wartość będzie zawierać szóstą do dziesiątej zwróconej liczby użytkowników. totalRecords wartość zostanie ustawiona na 13.

Spacje wiodące i końcowe są przycinane z wartości parametru emailToMatch .

Zobacz też

Dotyczy

FindUsersByEmail(String)

Pobiera kolekcję użytkowników członkostwa, na których adres e-mail zawiera określony adres e-mail zgodny.

public:
 static System::Web::Security::MembershipUserCollection ^ FindUsersByEmail(System::String ^ emailToMatch);
public static System.Web.Security.MembershipUserCollection FindUsersByEmail (string emailToMatch);
static member FindUsersByEmail : string -> System.Web.Security.MembershipUserCollection
Public Shared Function FindUsersByEmail (emailToMatch As String) As MembershipUserCollection

Parametry

emailToMatch
String

Adres e-mail do wyszukania.

Zwraca

Element MembershipUserCollection zawierający wszystkich użytkowników, którzy są zgodni z parametrem emailToMatch .

Spacje wiodące i końcowe są przycinane z wartości parametru emailToMatch .

Przykłady

Poniższy przykład kodu używa FindUsersByEmail metody do pobierania informacji o użytkowniku członkostwa z bazy danych członkostwa na podstawie danych wejściowych użytkownika i wyświetla wyniki na stronach danych.

Ważne

Ten przykład zawiera pole tekstowe, które akceptuje dane wejściowe użytkownika, co jest potencjalnym zagrożeniem bezpieczeństwa. Domyślnie ASP.NET strony sieci Web weryfikują, czy dane wejściowe użytkownika nie zawierają skryptów ani elementów HTML. Aby uzyskać więcej informacji, zobacz Omówienie luk w zabezpieczeniach skryptów.

<%@ 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 GoButton_OnClick(object sender, EventArgs args)
{
  UserGrid.DataSource = Membership.FindUsersByEmail(EmailTextBox.Text);
  UserGrid.DataBind();
}

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

Public Sub GoButton_OnClick(sender As Object, args As EventArgs)
  UserGrid.DataSource = Membership.FindUsersByEmail(EmailTextBox.Text)
  UserGrid.DataBind()
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:DataGrid id="UserGrid" runat="server"
                CellPadding="2" CellSpacing="1"
                Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:DataGrid>

</form>

</body>
</html>

Uwagi

FindUsersByEmail Zwraca listę użytkowników członkostwa, w których adres e-mail jest zgodny z podanym emailToMatch dla skonfigurowanego applicationNameelementu .

Funkcja SqlMembershipProvider wykonuje wyszukiwanie przy użyciu klauzuli LIKE względem parametru emailToMatch . Wszystkie symbole wieloznaczne obsługiwane przez program SQL Server w klauzulach LIKE mogą być używane w wartości parametru emailToMatch .

Zobacz też

Dotyczy