Поделиться через


ProfileManager.GetAllProfiles Метод

Определение

Извлекает данные профиля пользователя для профилей в источнике данных.

Перегрузки

GetAllProfiles(ProfileAuthenticationOption)

Извлекает данные профиля пользователя для профилей в источнике данных.

GetAllProfiles(ProfileAuthenticationOption, Int32, Int32, Int32)

Извлекает страницы данных профиля пользователя.

GetAllProfiles(ProfileAuthenticationOption)

Извлекает данные профиля пользователя для профилей в источнике данных.

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

Параметры

authenticationOption
ProfileAuthenticationOption

Одно из значений перечисления ProfileAuthenticationOption, с помощью которого можно задать возвращаемые типы профилей: анонимный, с проверкой подлинности или оба.

Возвращаемое значение

Коллекция ProfileInfoCollection содержащая сведения о профилях пользователей для всех профилей в источнике данных.

Примеры

В следующем примере кода отображаются сведения о профиле для всех профилей для настроенного 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>

Комментарии

Метод GetAllProfiles используется для получения сведений о профиле из источника данных для приложения, указанного атрибутом applicationName в файле конфигурации. Используйте параметр , authenticationOption чтобы указать, нужно ли искать только анонимные профили, только профили, прошедшие проверку подлинности, или все профили.

Страницы объектов для профилей пользователей ProfileInfo можно получить с помощью перегрузки GetAllProfiles для метода , который принимает дополнительные pageIndex параметры и pageSize .

Метод GetAllProfiles вызывает GetAllProfiles метод поставщика профилей по умолчанию. Поставщик профиля по умолчанию указывается с помощью defaultProvider атрибута элемента конфигурации профиля . Если профиль пользователя содержит свойства, управляемые поставщиком профилей, который отличается от поставщика по умолчанию, поиск в источнике данных для другого поставщика профиля не выполняется. Чтобы найти профили, управляемые поставщиком профилей, не используемым по умолчанию, получите ссылку на поставщика профилей с помощью Providers свойства и вызовите GetAllProfiles метод поставщика напрямую.

См. также раздел

Применяется к

GetAllProfiles(ProfileAuthenticationOption, Int32, Int32, Int32)

Извлекает страницы данных профиля пользователя.

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

Параметры

authenticationOption
ProfileAuthenticationOption

Одно из значений перечисления ProfileAuthenticationOption, с помощью которого можно задать возвращаемые типы профилей: анонимный, с проверкой подлинности или оба.

pageIndex
Int32

Индекс возвращаемой страницы результатов. Индекс pageIndex отсчитывается от нуля.

pageSize
Int32

Размер возвращаемой страницы результатов.

totalRecords
Int32

Когда выполнение этого метода завершается, содержит целое число, определяющее общее количество профилей. Этот параметр передается неинициализированным.

Возвращаемое значение

Коллекция ProfileInfoCollection содержащая сведения о профилях пользователей для всех профилей в источнике данных.

Примеры

В следующем примере кода отображаются сведения о профиле для всех профилей для объекта , настроенного 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">

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>

Комментарии

Метод GetAllProfiles используется для получения сведений о профиле из источника данных для приложения, указанного атрибутом applicationName в файле конфигурации. Используйте параметр , authenticationOption чтобы указать, нужно ли искать только анонимные профили, только профили, прошедшие проверку подлинности, или все профили.

Результаты, возвращаемые параметром , GetAllInactiveProfiles ограничены параметрами pageIndex и pageSize . Параметр pageSize определяет максимальное число возвращаемых ProfileInfo объектов в ProfileInfoCollection. Параметр pageIndex определяет, какую страницу результатов следует вернуть; ноль определяет первую страницу. Параметр totalRecords является параметром out , который имеет значение общего числа неактивных профилей пользователей для настроенного applicationNameобъекта на основе предоставленного authenticationOption. Например, если для настроенного applicationNameимеется 13 пользователей, а pageIndex значение равно 1 с pageSize 5, ProfileInfoCollection возвращаемый будет содержать профили с шестого по десятый. Параметру totalRecords будет присвоено значение 13.

Метод GetAllProfiles вызывает GetAllProfiles метод поставщика профилей по умолчанию. Поставщик профиля по умолчанию указывается с помощью defaultProvider атрибута элемента конфигурации профиля . Если профиль пользователя содержит свойства, управляемые поставщиком профилей, который отличается от поставщика по умолчанию, поиск в источнике данных для другого поставщика профиля не выполняется. Чтобы найти профили, управляемые поставщиком профилей, не используемым по умолчанию, получите ссылку на поставщика профилей с помощью Providers свойства и вызовите GetAllProfiles метод поставщика напрямую.

См. также раздел

Применяется к