SqlProfileProvider.GetAllProfiles Method (ProfileAuthenticationOption, Int32, Int32, Int32)
Retrieves user profile data for profiles in the data source.
Assembly: System.Web (in System.Web.dll)
Public Overrides Function GetAllProfiles ( authenticationOption As ProfileAuthenticationOption, pageIndex As Integer, pageSize As Integer, <OutAttribute> ByRef totalRecords As Integer ) As ProfileInfoCollection
Parameters
- authenticationOption
-
Type:
System.Web.Profile.ProfileAuthenticationOption
One of the ProfileAuthenticationOption values, specifying whether anonymous, authenticated, or both types of profiles are returned.
- pageIndex
-
Type:
System.Int32
The index of the page of results to return. pageIndex is zero-based.
- pageSize
-
Type:
System.Int32
The size of the page of results to return.
- totalRecords
-
Type:
System.Int32
When this method returns, contains an integer that identifies the total number of profiles. This parameter is passed uninitialized.
Return Value
Type: System.Web.Profile.ProfileInfoCollectionA ProfileInfoCollection containing user profile information for all of the profiles in the data source.
| Exception | Condition |
|---|---|
| ArgumentException | pageIndex is less than zero. - or - pageSize is less than one. - or - pageIndex multiplied by pageSize is larger than MaxValue. |
The GetAllProfiles method is used to retrieve profile information for profiles from the data source for the application specified by the applicationName attribute in the configuration file. Use the authenticationOption parameter to specify whether you want only anonymous profiles, only authenticated profiles, or all profiles to be searched.
The results returned by GetAllInactiveProfiles are constrained by the pageIndex and pageSize parameters. The pageSize parameter identifies the maximum number of ProfileInfo objects to return in the ProfileInfoCollection. The pageIndex parameter identifies which page of results to return; 0 identifies the first page. The totalRecords parameter is an out parameter that is set to the total number of inactive user profiles for the configured applicationName, based on the authenticationOption and userInactiveSinceDate parameters. For example, if there are 13 users for the configured applicationName, and the pageIndex value is 1 with a pageSize of 5, the ProfileInfoCollection returned will contain the sixth through the tenth profiles. The totalRecords parameter will be set to 13.
The following code example displays profile information for all of the profiles for the configured applicationName in pages of data.
<%@ 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() Dim p As SqlProfileProvider = CType(Profile.Providers("SqlProvider"), SqlProfileProvider) ProfileGrid.DataSource = p.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>
Available since 2.0