Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Membership.FindUsersByName (String, Int32, Int32, Int32)

 

Data di pubblicazione: ottobre 2016

Ottiene una raccolta di utenti di appartenenza, in una pagina di dati, in cui il nome utente contiene il nome utente specificato per la corrispondenza.

Spazio dei nomi:   System.Web.Security
Assembly:  System.Web (in System.Web.dll)

public static MembershipUserCollection FindUsersByName(
	string usernameToMatch,
	int pageIndex,
	int pageSize,
	out int totalRecords
)

Parametri

usernameToMatch
Type: System.String

Nome utente da cercare.

pageIndex
Type: System.Int32

Indice della pagina di risultati da restituire. pageIndex è in base zero.

pageSize
Type: System.Int32

Dimensioni della pagina di risultati da restituire.

totalRecords
Type: System.Int32

Numero totale di utenti individuati.

Valore restituito

Type: System.Web.Security.MembershipUserCollection

Oggetto MembershipUserCollection che contiene una pagina di pageSizeMembershipUser oggetti inizia con la pagina specificata da pageIndex.

Spazi iniziali e finali vengono eliminati dal usernameToMatch valore del parametro.

Exception Condition
ArgumentException

Il parametro usernameToMatch è una stringa vuota.

-oppure-

pageIndex è minore di zero.

-oppure-

pageSize è minore di 1.

ArgumentNullException

usernameToMatch è null.

FindUsersByName Restituisce un elenco di utenti di appartenenza in cui il nome utente corrisponde al nome usernameToMatch per l'applicazione configurata applicationName.

il SqlMembershipProvider esegue la ricerca utilizzando una clausola LIKE contro il usernameToMatch parametro. Caratteri jolly supportati da SQL Server in come clausole possono essere utilizzate nel usernameToMatch valore del parametro.

I risultati restituiti da FindUsersByName sono vincolate dal pageIndex e pageSize i parametri. Il pageSize parametro indica il numero massimo di MembershipUser oggetti per restituire il MembershipUserCollection. Il pageIndex parametro identifica la pagina di risultati da restituire, dove 0 indica la prima pagina. Il totalRecords parametro è un out parametro che viene impostato il numero totale di utenti di appartenenza corrispondente il usernameToMatch valore. Ad esempio, se vengono rilevati 13 utenti dove usernameToMatch corrispondente parte o il nome utente e pageIndex 1 e un pageSize pari a 5, il MembershipUserCollection restituito conterrebbe dal sesto al decimo utente restituito. totalRecords verrebbe impostato a 13.

Nell'esempio di codice viene illustrato come utilizzare il FindUsersByName metodo per recuperare le informazioni utente di appartenenza dal database di appartenenza in base all'input dell'utente e visualizza i risultati nelle pagine di dati.

System_CAPS_security Sicurezza Nota

In questo esempio contiene una casella di testo che accetta l'input dell'utente, ovvero una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Script Exploits Overview.

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

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: