Compartilhar via


Membership.FindUsersByName Método

Definição

Obtém uma coleção de usuários associados em que o nome de usuário contém o nome de usuário especificado para corresponder.

Sobrecargas

FindUsersByName(String)

Obtém uma coleção de usuários associados em que o nome de usuário contém o nome de usuário especificado para corresponder.

FindUsersByName(String, Int32, Int32, Int32)

Obtém uma coleção de usuários de associação, em uma página de dados, em que o nome de usuário contém o nome de usuário especificado com o qual combinar.

FindUsersByName(String)

Obtém uma coleção de usuários associados em que o nome de usuário contém o nome de usuário especificado para corresponder.

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

Parâmetros

usernameToMatch
String

O nome de usuário a ser pesquisado.

Retornos

Um MembershipUserCollection que contém todos os usuários que correspondem ao parâmetro usernameToMatch.

Os espaços à esquerda e à direita são cortados do valor de parâmetro usernameToMatch.

Exceções

usernameToMatch é uma cadeia de caracteres vazia.

usernameToMatch é null.

Exemplos

O exemplo de código a seguir usa o FindUsersByName método para recuperar informações do usuário associado do banco de dados de associação com base na entrada do usuário e exibe os resultados em páginas de dados.

Importante

Este exemplo contém uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos html ou script. Para obter mais informações, consulte Visão geral de explorações de script.

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

Comentários

FindUsersByName retorna uma lista de usuários associados em que o nome de usuário corresponde ao fornecido usernameToMatch para o configurado applicationName.

O SqlMembershipProvider executa sua pesquisa usando uma cláusula LIKE em relação ao usernameToMatch parâmetro . Todos os curingas compatíveis com o SQL Server em cláusulas LIKE podem ser usados no valor do usernameToMatch parâmetro.

Espaços à esquerda e à direita são cortados de todos os valores de parâmetro.

Confira também

Aplica-se a

FindUsersByName(String, Int32, Int32, Int32)

Obtém uma coleção de usuários de associação, em uma página de dados, em que o nome de usuário contém o nome de usuário especificado com o qual combinar.

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

Parâmetros

usernameToMatch
String

O nome de usuário a ser pesquisado.

pageIndex
Int32

O índice da página de resultados a serem retornados. pageIndex é baseado em zero.

pageSize
Int32

O tamanho da página de resultados a ser retornada.

totalRecords
Int32

O número total de usuários correspondentes.

Retornos

Um MembershipUserCollection que contém uma página de objetos pageSizeMembershipUser começando na página especificada por pageIndex.

Os espaços à esquerda e à direita são cortados do valor de parâmetro usernameToMatch.

Exceções

usernameToMatch é uma cadeia de caracteres vazia.

- ou -

pageIndex é menor que zero.

- ou -

pageSize é menor que 1.

usernameToMatch é null.

Exemplos

O exemplo de código a seguir usa o FindUsersByName método para recuperar informações do usuário associado do banco de dados de associação com base na entrada do usuário e exibe os resultados em páginas de dados.

Importante

Este exemplo contém uma caixa de texto que aceita a entrada do usuário, que é uma possível ameaça à segurança. Por padrão, ASP.NET páginas da Web validam que a entrada do usuário não inclui elementos html ou script. Para obter mais informações, consulte Visão geral de explorações de script.

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

Comentários

FindUsersByName retorna uma lista de usuários associados em que o nome de usuário corresponde ao fornecido usernameToMatch para o configurado applicationName.

O SqlMembershipProvider executa sua pesquisa usando uma cláusula LIKE em relação ao usernameToMatch parâmetro . Todos os curingas compatíveis com o SQL Server em cláusulas LIKE podem ser usados no valor do usernameToMatch parâmetro.

Os resultados retornados por FindUsersByName são restritos pelos pageIndex parâmetros e pageSize . O pageSize parâmetro identifica o número máximo de MembershipUser objetos a serem retornados no MembershipUserCollection. O pageIndex parâmetro identifica qual página de resultados retornar, em que 0 identifica a primeira página. O totalRecords parâmetro é um out parâmetro definido como o número total de usuários associados que corresponderam ao usernameToMatch valor. Por exemplo, se 13 usuários foram encontrados onde usernameToMatch a parte correspondente ou o nome de usuário inteiro e o pageIndex valor era 1 com um pageSize de 5, o MembershipUserCollection retornado conteria o sexto ao décimo usuário retornado. totalRecords seria definido como 13.

Confira também

Aplica-se a