ProfileManager.GetAllProfiles 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
擷取資料來源中設定檔的使用者設定檔資料。
多載
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
使用 參數來指定您是否只想要匿名配置檔、僅驗證的配置檔,或搜尋所有配置檔。
您可以使用採用其他 pageIndex
和 pageSize
參數之 方法的多載,擷GetAllProfiles取使用者配置檔的物件頁面ProfileInfo。
方法 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
會識別 在中ProfileInfoCollection傳回的物件ProfileInfo數目上限。 參數 pageIndex
會識別要傳回的結果頁面;零會識別第一頁。 參數totalRecords
是參數out
,根據提供的 authenticationOption
,設定為所設定的非使用中使用者配置檔applicationName
總數。 例如,如果已設定applicationName
的使用者有13個,且pageIndex
值為5的使用者,則ProfileInfoCollection傳回的 將會包含第六到pageSize
第十個配置檔。 參數 totalRecords
會設定為 13。
方法 GetAllProfiles 會呼叫 GetAllProfiles 預設配置檔提供者的 方法。 預設設定檔提供者是使用defaultProvider
設定檔組態項目的 屬性來指定。 如果使用者配置檔包含由預設提供者以外的配置檔提供者所管理的屬性,則不會搜尋其他配置檔提供者的數據源。 若要尋找由預設提供者以外的配置檔提供者所管理的配置檔,請使用 Providers 屬性取得配置檔提供者的參考,並直接呼叫 GetAllProfiles 提供者的 方法。