MembershipUserCollection 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
MembershipUser 物件的集合。
public ref class MembershipUserCollection sealed : System::Collections::ICollection
[System.Serializable]
public sealed class MembershipUserCollection : System.Collections.ICollection
[<System.Serializable>]
type MembershipUserCollection = class
interface ICollection
interface IEnumerable
[<System.Serializable>]
type MembershipUserCollection = class
interface IEnumerable
interface ICollection
Public NotInheritable Class MembershipUserCollection
Implements ICollection
- 繼承
-
MembershipUserCollection
- 屬性
- 實作
範例
下列程式代碼範例會傳回成員資格使用者清單,其中包含目前在線用戶的數目。 如需設定為使用成員資格 ASP.NET 應用程式的範例,請參閱 類別 Membership 。
<%@ 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;
public void Page_Load()
{
if (!IsPostBack)
{
GetUsers();
}
}
private void GetUsers()
{
UsersOnlineLabel.Text = Membership.GetNumberOfUsersOnline().ToString();
UserGrid.DataSource = Membership.GetAllUsers(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();
}
</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>
Number of Users Online: <asp:Label id="UsersOnlineLabel" 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>
<%@ Page Language="VB" %>
<%@ 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">
Dim pageSize As Integer = 5
Dim totalUsers As Integer
Dim totalPages As Integer
Dim currentPage As Integer = 1
Public Sub Page_Load()
If Not IsPostBack Then
GetUsers()
End If
End Sub
Private Sub GetUsers()
UsersOnlineLabel.Text = Membership.GetNumberOfUsersOnline().ToString()
UserGrid.DataSource = Membership.GetAllUsers(currentPage-1, pageSize, totalUsers)
totalPages = ((totalUsers - 1) \ pageSize) + 1
' Ensure that we do not navigate past the last page of users.
If currentPage > totalPages Then
currentPage = totalPages
GetUsers()
Return
End If
UserGrid.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 totalUsers <= 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
GetUsers()
End Sub
Public Sub PreviousButton_OnClick(sender As Object, args As EventArgs)
currentPage = Convert.ToInt32(CurrentPageLabel.Text)
currentPage -= 1
GetUsers()
End Sub
</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>
Number of Users Online: <asp:Label id="UsersOnlineLabel" 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>
備註
會System.Web.Security.MembershipUserCollection從GetAllUsers類別的 System.Web.Security.Membership 、 FindUsersByName與 FindUsersByEmail 方法傳回 。 MembershipUserCollection、 FindUsersByName和 FindUsersByEmail 方法所GetAllUsers傳回的物件包含成員資格數據存放區中使用者資訊的快照集。 也就是說,成員 MembershipUserCollection 資格使用者信息的變更不會反映在成員資格數據存放區中。 若要修改成員資格數據存放區中的成員資格用戶資訊,請使用 UpdateUser類別的 System.Web.Security.Membership 、 CreateUser 和 DeleteUser 方法。
注意
如果您不熟悉 ASP.NET 的成員資格功能,請參閱 成員資格簡介 ,再繼續進行。 如需與成員資格相關的其他主題清單,請參閱 使用成員資格管理使用者。
建構函式
MembershipUserCollection() |
建立新的空白成員資格使用者集合。 |
屬性
Count |
取得集合中的成員資格使用者物件數目。 |
IsSynchronized |
取得值,指出成員資格使用者集合是否為安全執行緒。 |
Item[String] |
在指定使用者名稱參考的集合中,取得成員資格使用者。 |
SyncRoot |
取得同步處理根節點。 |
方法
Add(MembershipUser) |
將指定的成員資格使用者加入集合中。 |
Clear() |
從集合中移除所有成員資格使用者物件。 |
CopyTo(MembershipUser[], Int32) |
將成員資格使用者者集合複製到一維陣列。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetEnumerator() |
取得可逐一查看成員資格使用者集合的列舉值。 |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Remove(String) |
從集合中移除具有指定使用者名稱的成員資格使用者物件。 |
SetReadOnly() |
將成員資格使用者集合的內容設為唯讀。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
明確介面實作
ICollection.CopyTo(Array, Int32) |
從特定的 Array 索引開始,將 MembershipUserCollection 物件的內容複製至 Array。 |
擴充方法
Cast<TResult>(IEnumerable) |
將 IEnumerable 的項目轉換成指定的型別。 |
OfType<TResult>(IEnumerable) |
根據指定的型別來篩選 IEnumerable 的項目。 |
AsParallel(IEnumerable) |
啟用查詢的平行化作業。 |
AsQueryable(IEnumerable) |
將 IEnumerable 轉換成 IQueryable。 |