Membership.FindUsersByName Methode

Definitie

Hiermee haalt u een verzameling lidmaatschapsgebruikers op waarvan de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt.

Overloads

Name Description
FindUsersByName(String)

Hiermee haalt u een verzameling lidmaatschapsgebruikers op waarvan de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt.

FindUsersByName(String, Int32, Int32, Int32)

Hiermee wordt een verzameling lidmaatschapsgebruikers opgehaald, op een pagina met gegevens, waarbij de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt.

FindUsersByName(String)

Hiermee haalt u een verzameling lidmaatschapsgebruikers op waarvan de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt.

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

Parameters

usernameToMatch
String

De gebruikersnaam die moet worden gezocht.

Retouren

Een MembershipUserCollection die alle gebruikers bevat die overeenkomen met de usernameToMatch parameter.

Voorloop- en volgspaties worden afgekapt van de usernameToMatch parameterwaarde.

Uitzonderingen

usernameToMatch is een lege tekenreeks.

usernameToMatch is null.

Voorbeelden

In het volgende codevoorbeeld wordt de FindUsersByName methode gebruikt om lidmaatschapsgebruikersgegevens op te halen uit de lidmaatschapsdatabase op basis van gebruikersinvoer en worden de resultaten weergegeven op pagina's met gegevens.

Important

Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.

<%@ 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.FindUsersByName(UsernameTextBox.Text);
  UserGrid.DataBind();
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>User List</h3>

  Username to Search for: 
    <asp:TextBox id="UsernameTextBox" 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.FindUsersByName(UsernameTextBox.Text)
  UserGrid.DataBind()
End Sub

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Find Users</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>User List</h3>

  Username to Search for: 
    <asp:TextBox id="UsernameTextBox" 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>

Opmerkingen

FindUsersByName retourneert een lijst met lidmaatschapsgebruikers waarbij de gebruikersnaam overeenkomt met de opgegeven usernameToMatch naam voor de geconfigureerde applicationName.

De SqlMembershipProvider zoekopdracht wordt uitgevoerd met behulp van een LIKE-component voor de usernameToMatch parameter. Jokertekens die worden ondersteund door SQL Server in LIKE-componenten kunnen worden gebruikt in de parameterwaarde usernameToMatch.

Voorloop- en volgspaties worden afgekapt van alle parameterwaarden.

Zie ook

Van toepassing op

FindUsersByName(String, Int32, Int32, Int32)

Hiermee wordt een verzameling lidmaatschapsgebruikers opgehaald, op een pagina met gegevens, waarbij de gebruikersnaam de opgegeven gebruikersnaam bevat die overeenkomt.

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

Parameters

usernameToMatch
String

De gebruikersnaam die moet worden gezocht.

pageIndex
Int32

De index van de pagina met resultaten die moeten worden geretourneerd. pageIndex is gebaseerd op nul.

pageSize
Int32

De grootte van de pagina met resultaten die moeten worden geretourneerd.

totalRecords
Int32

Het totale aantal overeenkomende gebruikers.

Retouren

Een MembershipUserCollection met een pagina met pageSizeMembershipUser objecten die beginnen op de pagina die is opgegeven door pageIndex.

Voorloop- en volgspaties worden afgekapt van de usernameToMatch parameterwaarde.

Uitzonderingen

usernameToMatch is een lege tekenreeks.

– of –

pageIndex is kleiner dan nul.

– of –

pageSize is kleiner dan 1.

usernameToMatch is null.

Voorbeelden

In het volgende codevoorbeeld wordt de FindUsersByName methode gebruikt om lidmaatschapsgebruikersgegevens op te halen uit de lidmaatschapsdatabase op basis van gebruikersinvoer en worden de resultaten weergegeven op pagina's met gegevens.

Important

Dit voorbeeld bevat een tekstvak dat gebruikersinvoer accepteert. Dit is een mogelijke beveiligingsrisico. Standaard valideren ASP.NET webpagina's dat gebruikersinvoer geen script- of HTML-elementen bevat. Zie Overzicht van Script Exploits voor meer informatie.

<%@ 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.FindUsersByName(UsernameTextBox.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</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>User List</h3>

  Username to Search for: 
    <asp:TextBox id="UsernameTextBox" 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.FindUsersByName(UsernameTextBox.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</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>User List</h3>

  Username to Search for: 
    <asp:TextBox id="UsernameTextBox" 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>

Opmerkingen

FindUsersByName retourneert een lijst met lidmaatschapsgebruikers waarbij de gebruikersnaam overeenkomt met de opgegeven usernameToMatch naam voor de geconfigureerde applicationName.

De SqlMembershipProvider zoekopdracht wordt uitgevoerd met behulp van een LIKE-component voor de usernameToMatch parameter. Jokertekens die worden ondersteund door SQL Server in LIKE-componenten kunnen worden gebruikt in de parameterwaarde usernameToMatch.

De resultaten die worden geretourneerd door FindUsersByName , worden beperkt door de pageIndex en pageSize parameters. De pageSize parameter identificeert het maximum aantal MembershipUser objecten dat moet worden geretourneerd in de MembershipUserCollection. De pageIndex parameter identificeert welke pagina met resultaten moet worden geretourneerd, waarbij 0 de eerste pagina identificeert. De totalRecords parameter is een out parameter die is ingesteld op het totale aantal lidmaatschapsgebruikers dat overeenkomt met de usernameToMatch waarde. Als er bijvoorbeeld 13 gebruikers zijn gevonden waarbij usernameToMatch het overeenkomende deel van of de volledige gebruikersnaam en de pageIndex waarde 1 is met een pageSize van 5, bevat de MembershipUserCollection geretourneerde waarde de zesde tot en met de tiende gebruikers die zijn geretourneerd. totalRecords wordt ingesteld op 13.

Zie ook

Van toepassing op