ProfileManager.GetAllProfiles Metodo

Definizione

Recupera i dati dei profili utente presenti nell'origine dati.

Overload

GetAllProfiles(ProfileAuthenticationOption)

Recupera i dati dei profili utente presenti nell'origine dati.

GetAllProfiles(ProfileAuthenticationOption, Int32, Int32, Int32)

Recupera pagine di dati dei profili utente.

GetAllProfiles(ProfileAuthenticationOption)

Recupera i dati dei profili utente presenti nell'origine dati.

public:
 static System::Web::Profile::ProfileInfoCollection ^ GetAllProfiles(System::Web::Profile::ProfileAuthenticationOption authenticationOption);
public static System.Web.Profile.ProfileInfoCollection GetAllProfiles (System.Web.Profile.ProfileAuthenticationOption authenticationOption);
static member GetAllProfiles : System.Web.Profile.ProfileAuthenticationOption -> System.Web.Profile.ProfileInfoCollection
Public Shared Function GetAllProfiles (authenticationOption As ProfileAuthenticationOption) As ProfileInfoCollection

Parametri

authenticationOption
ProfileAuthenticationOption

Uno dei valori dell'enumerazione ProfileAuthenticationOption che specifica se vengono restituiti profili di tipo anonimo, autenticato o entrambi.

Restituisce

Un oggetto ProfileInfoCollection che contiene le informazioni su tutti i profili utente presenti nell'origine dati.

Esempio

Nell'esempio di codice seguente vengono visualizzate le informazioni sul profilo per tutti i profili per l'oggetto configurato applicationName.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Profile" %>
<!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 Page_Load()
{
  TotalLabel.Text = ProfileManager.GetNumberOfProfiles(ProfileAuthenticationOption.All).ToString();
  GetProfiles();
}

private void GetProfiles()
{
  ProfileGrid.DataSource = ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All);
  ProfileGrid.DataBind();
}

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

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

  <asp:Label id="TotalLabel" runat="server" text="0" /> Profiles found.<br />

  <asp:GridView id="ProfileGrid" runat="server"
                CellPadding="2" CellSpacing="1" Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:GridView>

</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Profile" %>
<!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 Page_Load()
  TotalLabel.Text = ProfileManager.GetNumberOfProfiles(ProfileAuthenticationOption.All).ToString()
  GetProfiles()
End Sub

Private Sub GetProfiles()
  ProfileGrid.DataSource = ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All)
  ProfileGrid.DataBind()
End Sub

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

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

  <asp:Label id="TotalLabel" runat="server" text="0" /> Profiles found.<br />

  <asp:GridView id="ProfileGrid" runat="server"
                CellPadding="2" CellSpacing="1" Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:GridView>

</form>

</body>
</html>

Commenti

Il GetAllProfiles metodo viene usato per recuperare le informazioni sul profilo dall'origine dati per l'applicazione specificata dall'attributo applicationName nel file di configurazione. Usare il authenticationOption parametro per specificare se si desidera eseguire la ricerca solo profili anonimi, solo profili autenticati o tutti i profili.

È possibile recuperare pagine di ProfileInfo oggetti per i profili utente usando l'overload per il GetAllProfiles metodo che accetta parametri e pageSize aggiuntivipageIndex.

Il GetAllProfiles metodo chiama il GetAllProfiles metodo del provider di profili predefinito. Il provider di profili predefinito viene specificato usando l'attributo dell'elemento defaultProvider di configurazione del profilo . Se il profilo utente contiene proprietà gestite da un provider di profili diverso dal provider predefinito, l'origine dati per l'altro provider di profili non viene eseguita la ricerca. Per trovare i profili gestiti da un provider di profili diverso dal provider predefinito, ottenere un riferimento al provider di profili usando la proprietà e chiamare direttamente il ProvidersGetAllProfiles metodo del provider.

Vedi anche

Si applica a

GetAllProfiles(ProfileAuthenticationOption, Int32, Int32, Int32)

Recupera pagine di dati dei profili utente.

public:
 static System::Web::Profile::ProfileInfoCollection ^ GetAllProfiles(System::Web::Profile::ProfileAuthenticationOption authenticationOption, int pageIndex, int pageSize, [Runtime::InteropServices::Out] int % totalRecords);
public static System.Web.Profile.ProfileInfoCollection GetAllProfiles (System.Web.Profile.ProfileAuthenticationOption authenticationOption, int pageIndex, int pageSize, out int totalRecords);
static member GetAllProfiles : System.Web.Profile.ProfileAuthenticationOption * int * int * int -> System.Web.Profile.ProfileInfoCollection
Public Shared Function GetAllProfiles (authenticationOption As ProfileAuthenticationOption, pageIndex As Integer, pageSize As Integer, ByRef totalRecords As Integer) As ProfileInfoCollection

Parametri

authenticationOption
ProfileAuthenticationOption

Uno dei valori dell'enumerazione ProfileAuthenticationOption che specifica se vengono restituiti profili di tipo anonimo, autenticato o entrambi.

pageIndex
Int32

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

pageSize
Int32

Dimensione della pagina di risultati da restituire.

totalRecords
Int32

Quando termina, il metodo contiene un intero che identifica il numero totale di profili. Questo parametro viene passato non inizializzato.

Restituisce

Un oggetto ProfileInfoCollection che contiene le informazioni su tutti i profili utente presenti nell'origine dati.

Esempio

Nell'esempio applicationName di codice seguente vengono visualizzate informazioni sul profilo per tutti i profili configurati nelle pagine di dati.

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Profile" %>
<!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 totalProfiles;
int totalPages;
int currentPage = 1;

public void Page_Load()
{
  if (!IsPostBack)
  {
    GetProfiles();
  }
}

private void GetProfiles()
{
  ProfileGrid.DataSource = ProfileManager.GetAllProfiles(
                               ProfileAuthenticationOption.All,
                               currentPage - 1, pageSize, out totalProfiles);
  totalPages = ((totalProfiles - 1) / pageSize) + 1;

  // Ensure that we do not navigate past the last page of Profiles.

  if (currentPage > totalPages)
  {
    currentPage = totalPages;
    GetProfiles();
    return;
  }

  ProfileGrid.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 (totalProfiles <= 0)
    NavigationPanel.Visible = false;
  else
    NavigationPanel.Visible = true;
}

public void NextButton_OnClick(object sender, EventArgs args)
{
  currentPage = Convert.ToInt32(CurrentPageLabel.Text);
  currentPage++;
  GetProfiles();
}

public void PreviousButton_OnClick(object sender, EventArgs args)
{
  currentPage = Convert.ToInt32(CurrentPageLabel.Text);
  currentPage--;
  GetProfiles();
}

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

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

  <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:GridView id="ProfileGrid" runat="server"
                CellPadding="2" CellSpacing="1" Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:GridView>

</form>

</body>
</html>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Profile" %>
<!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 totalProfiles As Integer 
Dim totalPages As Integer 
Dim currentPage As Integer = 1

Public Sub Page_Load()
  If Not IsPostBack Then  
    GetProfiles()
  End If
End Sub

Private Sub GetProfiles()

  ProfileGrid.DataSource = ProfileManager.GetAllProfiles( _
                               ProfileAuthenticationOption.All, _
                               currentPage - 1, pageSize, totalProfiles)
  totalPages = ((totalProfiles - 1) \ pageSize) + 1

  ' Ensure that we do not navigate past the last page of Profiles.

  If currentPage > totalPages Then
    currentPage = totalPages
    GetProfiles()
    Return
  End If

  ProfileGrid.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 totalProfiles <= 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
  GetProfiles()
End SUb

Public Sub PreviousButton_OnClick(sender As Object, args As EventArgs)
  currentPage = Convert.ToInt32(CurrentPageLabel.Text)
  currentPage -= 1
  GetProfiles()
End Sub

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

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

  <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:GridView id="ProfileGrid" runat="server"
                CellPadding="2" CellSpacing="1" Gridlines="Both">
    <HeaderStyle BackColor="darkblue" ForeColor="white" />
  </asp:GridView>

</form>

</body>
</html>

Commenti

Il GetAllProfiles metodo viene usato per recuperare le informazioni sul profilo dall'origine dati per l'applicazione specificata dall'attributo applicationName nel file di configurazione. Usare il authenticationOption parametro per specificare se si desidera eseguire la ricerca solo profili anonimi, solo profili autenticati o tutti i profili.

I risultati restituiti da sono vincolati dai GetAllInactiveProfilespageIndex parametri e pageSize . Il pageSize parametro identifica il numero massimo di ProfileInfo oggetti da restituire in ProfileInfoCollection. Il pageIndex parametro identifica la pagina dei risultati da restituire; zero identifica la prima pagina. Il totalRecords parametro è un out parametro impostato sul numero totale di profili utente inattivi per l'oggetto configurato applicationName, in base all'oggetto specificato authenticationOption. Ad esempio, se sono presenti 13 utenti per la configurazione applicationNamee il valore è uno con un valore pari a pageSize 5, il pageIndexProfileInfoCollection restituito conterrà il sesto fino al decimo profilo. Il totalRecords parametro verrà impostato su 13.

Il GetAllProfiles metodo chiama il GetAllProfiles metodo del provider di profili predefinito. Il provider di profili predefinito viene specificato usando l'attributo dell'elemento defaultProvider di configurazione del profilo . Se il profilo utente contiene proprietà gestite da un provider di profili diverso dal provider predefinito, l'origine dati per l'altro provider di profili non viene eseguita la ricerca. Per trovare i profili gestiti da un provider di profili diverso dal provider predefinito, ottenere un riferimento al provider di profili usando la proprietà e chiamare direttamente il ProvidersGetAllProfiles metodo del provider.

Vedi anche

Si applica a