MembershipUserCollection クラス

定義

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は、 クラスの 、GetAllUsersFindUsersByName、および FindUsersByEmail メソッドSystem.Web.Security.Membershipから返されます。 、FindUsersByName、および FindUsersByEmail メソッドによってGetAllUsers返されるオブジェクトにはMembershipUserCollection、メンバーシップ データ ストア内のユーザー情報のスナップショットが含まれています。 つまり、 内 MembershipUserCollection のメンバーシップ ユーザー情報に対する変更は、メンバーシップ データ ストアには反映されません。 メンバーシップ データ ストアのメンバーシップ ユーザー情報を変更するには、 クラスの UpdateUserCreateUser 、 メソッドと DeleteUser メソッドをSystem.Web.Security.Membership使用します。

注意

ASP.NET のメンバーシップ機能に慣れていない場合は、続行 する前に「メンバーシップの概要 」を参照してください。 メンバーシップに関連するその他のトピックの一覧については、「メンバーシップ を使用したユーザーの管理」を参照してください。

コンストラクター

MembershipUserCollection()

新しい空のメンバーシップ ユーザー コレクションを作成します。

プロパティ

Count

コレクションに含まれるメンバーシップ ユーザー オブジェクトの数を取得します。

IsSynchronized

メンバーシップ ユーザー コレクションがスレッド セーフであるかどうかを示す値を取得します。

Item[String]

指定されたユーザー名によって参照されるコレクションのメンバーシップ ユーザーを取得します。

SyncRoot

同期ルートを取得します。

メソッド

Add(MembershipUser)

指定されたメンバーシップ ユーザーをコレクションに追加します。

Clear()

コレクションからすべてのメンバーシップ ユーザー オブジェクトを削除します。

CopyTo(MembershipUser[], Int32)

メンバーシップ ユーザーのコレクションを 1 次元配列にコピーします。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetEnumerator()

メンバーシップ ユーザーのコレクションを反復処理できる列挙子を取得します。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
Remove(String)

指定したユーザー名のメンバーシップ ユーザー オブジェクトをコレクションから削除します。

SetReadOnly()

メンバーシップ ユーザー コレクションのコンテンツを読み取り専用にします。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

明示的なインターフェイスの実装

ICollection.CopyTo(Array, Int32)

MembershipUserCollection オブジェクトのコンテンツを Array にコピーします。Array の特定のインデックスからコピーが開始されます。

拡張メソッド

Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。

OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。

AsParallel(IEnumerable)

クエリの並列化を有効にします。

AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。

適用対象

こちらもご覧ください