MembershipUserCollection 类

定义

MembershipUser 对象的集合。A collection of MembershipUser objects.

public ref class MembershipUserCollection sealed : System::Collections::ICollection
[System.Serializable]
public sealed class MembershipUserCollection : System.Collections.ICollection
type MembershipUserCollection = class
    interface IEnumerable
    interface ICollection
Public NotInheritable Class MembershipUserCollection
Implements ICollection
继承
MembershipUserCollection
属性
实现

示例

下面的代码示例返回具有当前联机用户数计数的成员资格用户的列表。The following code example returns a list of membership users with a count of the number of users currently online. 有关配置为使用成员身份的 ASP.NET 应用程序的示例, 请Membership参阅类。For an example of an ASP.NET application configured to use membership, see the Membership class.

<%@ 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 从类System.Web.Security.MembershipFindUsersByName 、和FindUsersByEmail方法返回。 GetAllUsersA System.Web.Security.MembershipUserCollection is returned from the GetAllUsers, FindUsersByName, and FindUsersByEmail methods of the System.Web.Security.Membership class. 、和方法返回的对象包含成员资格数据存储区中用户信息的快照。 MembershipUserCollection FindUsersByName GetAllUsers FindUsersByEmailThe MembershipUserCollection objects returned by the GetAllUsers, FindUsersByName, and FindUsersByEmail methods contain a snapshot of user information in the membership data store. 也就是说, 对中MembershipUserCollection的成员资格用户信息所做的更改不会反映在成员资格数据存储中。That is, changes to the membership user information in a MembershipUserCollection are not reflected in the membership data store. 若要修改成员资格数据存储区中的成员资格用户UpdateUser信息CreateUser , DeleteUser请使用System.Web.Security.Membership类的和方法。To modify membership user information in the membership data store, use the UpdateUser, CreateUser and DeleteUser methods of the System.Web.Security.Membership class.

备注

如果你不熟悉 ASP.NET 的成员资格功能, 请参阅 "成员资格简介", 然后继续。If you are not familiar with the membership features of ASP.NET, see Introduction to Membership before continuing. 有关与成员资格相关的其他主题的列表, 请参阅使用成员身份管理用户For a list of other topics related to membership, see Managing Users by Using Membership.

构造函数

MembershipUserCollection()

创建一个新的空白成员资格用户集合。Creates a new, empty membership user collection.

属性

Count

获取集合中成员资格用户对象的数目。Gets the number of membership user objects in the collection.

IsSynchronized

获取一个指示成员资格用户集合是否为线程安全的值。Gets a value indicating whether the membership user collection is thread safe.

Item[String]

获取集合中由指定的用户名引用的成员资格用户。Gets the membership user in the collection referenced by the specified user name.

SyncRoot

获取同步根。Gets the synchronization root.

方法

Add(MembershipUser)

将指定的成员资格用户添加到集合。Adds the specified membership user to the collection.

Clear()

从集合中删除所有成员资格用户对象。Removes all membership user objects from the collection.

CopyTo(MembershipUser[], Int32)

将成员资格用户集合复制到一维数组。Copies the membership user collection to a one-dimensional array.

Equals(Object)

确定指定的对象是否等于当前对象。Determines whether the specified object is equal to the current object.

(继承自 Object)
GetEnumerator()

获取可循环访问成员资格用户集合的枚举数。Gets an enumerator that can iterate through the membership user collection.

GetHashCode()

用作默认哈希函数。Serves as the default hash function.

(继承自 Object)
GetType()

获取当前实例的 TypeGets the Type of the current instance.

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。Creates a shallow copy of the current Object.

(继承自 Object)
Remove(String)

从集合中移除具有指定用户名的成员资格用户对象。Removes the membership user object with the specified user name from the collection.

SetReadOnly()

使成员资格用户集合的内容成为只读内容。Makes the contents of the membership user collection read-only.

ToString()

返回一个表示当前对象的 string。Returns a string that represents the current object.

(继承自 Object)

显式界面实现

ICollection.CopyTo(Array, Int32)

从特定的 MembershipUserCollection 索引开始,将 Array 对象的内容复制到 Array 中。Copies the contents of the MembershipUserCollection object to an Array, starting at a particular Array index.

扩展方法

Cast<TResult>(IEnumerable)

IEnumerable 的元素强制转换为指定的类型。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable)

根据指定类型筛选 IEnumerable 的元素。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable)

启用查询的并行化。Enables parallelization of a query.

AsQueryable(IEnumerable)

IEnumerable 转换为 IQueryableConverts an IEnumerable to an IQueryable.

适用于

另请参阅