Freigeben über


Membership.FindUsersByEmail Methode

Definition

Ruft eine Auflistung von Mitgliedschaftsbenutzern ab, bei denen die E-Mail-Adresse die zu vergleichende angegebene E-Mail-Adresse enthält.

Überlädt

FindUsersByEmail(String, Int32, Int32, Int32)

Ruft eine Auflistung von Mitgliedschaftsbenutzern auf einer Datenseite ab, deren E-Mail-Adresse die angegebene E-Mail-Adresse enthält.

FindUsersByEmail(String)

Ruft eine Auflistung von Mitgliedschaftsbenutzern ab, bei denen die E-Mail-Adresse die zu vergleichende angegebene E-Mail-Adresse enthält.

FindUsersByEmail(String, Int32, Int32, Int32)

Ruft eine Auflistung von Mitgliedschaftsbenutzern auf einer Datenseite ab, deren E-Mail-Adresse die angegebene E-Mail-Adresse enthält.

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

Parameter

emailToMatch
String

Die gesuchte E-Mail-Adresse.

pageIndex
Int32

Der Index der zurückzugebenden Ergebnisseite. pageIndex ist nullbasiert.

pageSize
Int32

Die Größe der zurückzugebenden Ergebnisseite.

totalRecords
Int32

Die Gesamtanzahl übereinstimmender Benutzer.

Gibt zurück

Eine MembershipUserCollection, die eine Seite mit pageSizeMembershipUser-Objekten enthält, die auf der durch pageIndex angegebenen Seite beginnen.

Ausnahmen

pageIndex ist kleiner als Null.

- oder -

pageSize ist kleiner als 1.

Beispiele

Im folgenden Codebeispiel wird die FindUsersByEmail -Methode verwendet, um Mitgliedschaftsbenutzerinformationen aus der Mitgliedschaftsdatenbank basierend auf Benutzereingaben abzurufen und die Ergebnisse in Datenseiten anzuzeigen.

Wichtig

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, was eine potenzielle Sicherheitsbedrohung darstellt. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

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

Hinweise

FindUsersByEmailgibt eine Liste der Mitgliedschaftsbenutzer zurück, bei denen die E-Mail-Adresse mit der für den konfigurierten applicationNameübereinstimmtemailToMatch.

Die SqlMembershipProvider führt seine Suche mithilfe einer LIKE-Klausel für den emailToMatch -Parameter aus. Alle Von SQL Server in LIKE-Klauseln unterstützten Feldhalter können im emailToMatch Parameterwert verwendet werden.

Die von FindUsersByEmail zurückgegebenen Ergebnisse werden durch die pageIndex Parameter und pageSize eingeschränkt. Der pageSize -Parameter gibt die maximale Anzahl von MembershipUser Objekten an, die MembershipUserCollectionin zurückgegeben werden sollen. Der pageIndex Parameter gibt an, welche Ergebnisseite zurückgegeben werden soll, wobei 0 die erste Seite identifiziert. Der totalRecords Parameter ist ein out Parameter, der auf die Gesamtzahl der Mitgliedschaftsbenutzer festgelegt ist, die dem emailToMatch Wert entsprechen. Wenn beispielsweise 13 Benutzer gefunden wurden, an denen emailToMatch ein Teil oder die gesamte E-Mail-Adresse übereinstimmt, und der pageIndex Wert 1 mit einem pageSize von 5 ist, enthält der MembershipUserCollection zurückgegebene benutzer den sechsten bis zum zehnten zurückgegebenen Benutzer. totalRecords wird auf 13 festgelegt.

Beim emailToMatch-Parameterwert werden führende und nachstehende Leerzeichen abgeschnitten.

Weitere Informationen

Gilt für:

FindUsersByEmail(String)

Ruft eine Auflistung von Mitgliedschaftsbenutzern ab, bei denen die E-Mail-Adresse die zu vergleichende angegebene E-Mail-Adresse enthält.

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

Parameter

emailToMatch
String

Die gesuchte E-Mail-Adresse.

Gibt zurück

Eine MembershipUserCollection, die alle Benutzer enthält, die dem emailToMatch-Parameter entsprechen.

Beim emailToMatch-Parameterwert werden führende und nachstehende Leerzeichen abgeschnitten.

Beispiele

Im folgenden Codebeispiel wird die FindUsersByEmail -Methode verwendet, um Mitgliedschaftsbenutzerinformationen aus der Mitgliedschaftsdatenbank basierend auf Benutzereingaben abzurufen und die Ergebnisse in Datenseiten anzuzeigen.

Wichtig

Dieses Beispiel enthält ein Textfeld, das Benutzereingaben akzeptiert, was eine potenzielle Sicherheitsbedrohung darstellt. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

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

Hinweise

FindUsersByEmailgibt eine Liste der Mitgliedschaftsbenutzer zurück, bei denen die E-Mail-Adresse mit der für den konfigurierten applicationNameübereinstimmtemailToMatch.

Die SqlMembershipProvider führt seine Suche mithilfe einer LIKE-Klausel für den emailToMatch -Parameter aus. Alle Von SQL Server in LIKE-Klauseln unterstützten Feldhalter können im emailToMatch Parameterwert verwendet werden.

Weitere Informationen

Gilt für: