MembershipUserCollectionとは? わかりやすく解説

MembershipUserCollection クラス

メモ : このクラスは、.NET Framework version 2.0新しく追加されたものです。

MembershipUser オブジェクトコレクション

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

<SerializableAttribute> _
Public NotInheritable Class
 MembershipUserCollection
    Implements ICollection, IEnumerable
Dim instance As MembershipUserCollection
[SerializableAttribute] 
public sealed class MembershipUserCollection
 : ICollection, IEnumerable
[SerializableAttribute] 
public ref class MembershipUserCollection sealed
 : ICollection, IEnumerable
/** @attribute SerializableAttribute() */ 
public final class MembershipUserCollection
 implements ICollection, IEnumerable
SerializableAttribute 
public final class MembershipUserCollection
 implements ICollection, IEnumerable
解説解説

System.Web.Security.MembershipUserCollection は、System.Web.Security.Membership クラスの GetAllUsers、FindUsersByName、および FindUsersByEmail メソッドによって返されます。GetAllUsersFindUsersByName、および FindUsersByEmail メソッド返す MembershipUserCollection オブジェクトには、メンバシップ データ ストアユーザー情報スナップショット含まれます。つまり、MembershipUserCollectionメンバシップ ユーザー情報変更内容メンバシップ データ ストア反映されません。メンバシップ データ ストアメンバシップ ユーザー情報変更するには、System.Web.Security.Membership クラスの UpdateUser、CreateUser、および DeleteUser メソッド使用します

使用例使用例

オンライン中のユーザー数メンバシップ ユーザーの一覧を返すコード例次に示しますメンバシップ使用するように構成されASP.NET アプリケーション例については、Membership クラストピック参照してください

<%@ Page Language="VB" %>
<%@ Import Namespace="System.Web.Security"
 %>
<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, 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>
<head>
<title>Sample: Find Users</title>
</head>
<body>

<form 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 width=100>Page <asp:Label id="CurrentPageLabel"
 runat="server" />
            of <asp:Label id="TotalPagesLabel"
 runat="server" /></td>
        <td width=60><asp:LinkButton id="PreviousButton"
 Text="< Prev"
                            OnClick="PreviousButton_OnClick"
 runat="server" /></td>
        <td 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="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<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, 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>
<head>
<title>Sample: Find Users</title>
</head>
<body>

<form 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 width=100>Page <asp:Label id="CurrentPageLabel" runat="server"
 />
            of <asp:Label id="TotalPagesLabel" runat="server"
 /></td>
        <td width=60><asp:LinkButton id="PreviousButton" Text="<
 Prev"
                            OnClick="PreviousButton_OnClick" runat="server"
 /></td>
        <td 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>
.NET Framework のセキュリティ.NET Frameworkセキュリティ
継承階層継承階層
System.Object
  System.Web.Security.MembershipUserCollection
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

MembershipUserCollection コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

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

名前空間: System.Web.Security
アセンブリ: System.Web (system.web.dll 内)
構文構文

Dim instance As New MembershipUserCollection
public MembershipUserCollection ()
public:
MembershipUserCollection ()
public MembershipUserCollection ()
public function MembershipUserCollection ()
解説解説

MembershipUserCollection はメンバシップ プロバイダ実装側によって構築され、MembershipProvider 抽象クラスの GetAllUsers メソッドと FindUsersByName メソッドによって返されます。

使用例使用例

GetAllUsers実装するコード例次に示します

Public Overrides Function
 GetAllUsers(pageIndex As Integer, _
                                      pageSize As Integer,
 _
                                      ByRef totalRecords As
 Integer) _
                                      As MembershipUserCollection
 
  
  Dim conn As OdbcConnection = New
 OdbcConnection(ConnectionString)
  Dim cmd As OdbcCommand = New
 OdbcCommand("SELECT Count(*) FROM [" & TableName
 & "] " & _
                                           "WHERE ApplicationName
 = ?", conn)
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar,
 255).Value = ApplicationName

  Dim users As MembershipUserCollection = New
 MembershipUserCollection()

  Dim reader As OdbcDataReader = Nothing
  totalRecords = 0

  Try  
    conn.Open()
    totalRecords = CType(cmd.ExecuteScalar(), Integer)

    If totalRecords <= 0 Then Return
 users

    cmd.CommandText = "SELECT Username, Email, PasswordQuestion,"
 & _
                      " Comment, IsApproved, CreationDate, LastLoginDate,"
 & _
                      " LastActivityDate, LastPasswordChangedDate
 " & _
                      " FROM [" & TableName &
 "] " & _
                      " WHERE ApplicationName = ? "
 & _
                      " ORDER BY Username Asc"

    reader = cmd.ExecuteReader()

    Dim counter As Integer
 = 0
    Dim startIndex As Integer
 = pageSize * pageIndex
    Dim endIndex As Integer
 = startIndex + pageSize - 1

    Do While reader.Read()    
      If counter >= startIndex Then    
        Dim u As MembershipUser = GetUserFromReader(reader)
        users.Add(u)
      End If

      If counter >= endIndex Then cmd.Cancel()

      counter += 1
    Loop
  Catch e As OdbcException
    ' Handle exception.
  Finally
    If Not reader Is Nothing
 Then reader.Close()
    conn.Close()
  End Try

  Return users
End Function


'
' GetUserFromReader
' A helper function that takes the current row from the OdbcDataReader
' and populates a MembershipUser object with the values. Called by the
 
' MembershipUser.GetUser implementation.
'

Public Function GetUserFromReader(reader As
 OdbcDataReader) As MembershipUser
  
  Dim providerUserKey As Object
 = reader.GetValue(0)
  Dim username As String
 = reader.GetString(1)
  Dim email As String =
 reader.GetString(2)

  Dim passwordQuestion As String
 = ""
  If Not reader.GetValue(3) Is
 DBNull.Value Then _
    passwordQuestion = reader.GetString(3)

  Dim comment As String
 = ""
  If Not reader.GetValue(4) Is
 DBNull.Value Then _
    comment = reader.GetString(4)

  Dim isApproved As Boolean
 = reader.GetBoolean(5)
  Dim isLockedOut As Boolean
 = reader.GetBoolean(6)
  Dim creationDate As DateTime = reader.GetDateTime(7)

  Dim lastLoginDate As DateTime = New
 DateTime()
  If Not reader.GetValue(8) Is
 DBNull.Value Then _
    lastLoginDate = reader.GetDateTime(8)

  Dim lastActivityDate As DateTime = reader.GetDateTime(9)
  Dim lastPasswordChangedDate As DateTime =
 reader.GetDateTime(10)

  Dim lastLockedOutDate As DateTime = New
 DateTime()
  If Not reader.GetValue(11) Is
 DBNull.Value Then _
    lastLockedOutDate = reader.GetDateTime(11)
      
  Dim u As MembershipUser = New
 MembershipUser(Me.Name, _
                                        username, _
                                        providerUserKey, _
                                        email, _
                                        passwordQuestion, _
                                        comment, _
                                        isApproved, _
                                        isLockedOut, _
                                        creationDate, _
                                        lastLoginDate, _
                                        lastActivityDate, _
                                        lastPasswordChangedDate, _
                                        lastLockedOutDate)

  Return u
End Function
public override MembershipUserCollection GetAllUsers(int
 pageIndex, int pageSize, out int totalRecords)
{
  OdbcCommand cmd = new OdbcCommand("SELECT Count(*) FROM
 [" + TableName + "] " +
                                    "WHERE ApplicationName = ?", conn);
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value =
 ApplicationName;

  MembershipUserCollection users = new MembershipUserCollection();

  OdbcDataReader reader = null;
  totalRecords = 0;

  try
  {
    conn.Open();
    totalRecords = (int)cmd.ExecuteScalar();

    if (totalRecords <= 0) { return users;
 }

    cmd.CommandText = "SELECT Username, Email, PasswordQuestion," +
             " Comment, IsApproved, CreationDate, LastLoginDate," +
             " LastActivityDate, LastPasswordChangedDate " +
             " FROM [" + TableName + "] " + 
             " WHERE ApplicationName = ? " +
             " ORDER BY Username Asc";

    reader = cmd.ExecuteReader();

    int counter = 0;
    int startIndex = pageSize * pageIndex;
    int endIndex = startIndex + pageSize - 1;

    while (reader.Read())
    {
      if (counter >= startIndex)
      {
        MembershipUser u = GetUserFromReader(reader);
        users.Add(u);
      }

      if (counter >= endIndex) { cmd.Cancel(); }

      counter++;
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    if (reader != null) { reader.Close(); }
     conn.Close();
  }

  return users;
}


//
// GetUserFromReader
// A helper function that takes the current row from the OdbcDataReader
// and populates a MembershipUser object with the values. Called by
 the 
// MembershipUser.GetUser implementation.
//

public MembershipUser GetUserFromReader(OdbcDataReader reader)
{
  object providerUserKey = reader.GetValue(0);
  string username = reader.GetString(1);
  string email = reader.GetString(2);

  string passwordQuestion = "";
  if (reader.GetValue(3) != DBNull.Value)
    passwordQuestion = reader.GetString(3);

  string comment = "";
  if (reader.GetValue(4) != DBNull.Value)
    comment = reader.GetString(4);

  bool isApproved = reader.GetBoolean(5);
  bool isLockedOut = reader.GetBoolean(6);
  DateTime creationDate = reader.GetDateTime(7);

  DateTime lastLoginDate = new DateTime();
  if (reader.GetValue(8) != DBNull.Value)
    lastLoginDate = reader.GetDateTime(8);

  DateTime lastActivityDate = reader.GetDateTime(9);
  DateTime lastPasswordChangedDate = reader.GetDateTime(10);

  DateTime lastLockedOutDate = new DateTime();
  if (reader.GetValue(11) != DBNull.Value)
    lastLockedOutDate = reader.GetDateTime(11);
      
  MembershipUser u = new MembershipUser(this.Name
,
                                        username,
                                        providerUserKey,
                                        email,
                                        passwordQuestion,
                                        comment,
                                        isApproved,
                                        isLockedOut,
                                        creationDate,
                                        lastLoginDate,
                                        lastActivityDate,
                                        lastPasswordChangedDate,
                                        lastLockedOutDate);

  return u;
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
MembershipUserCollection クラス
MembershipUserCollection メンバ
System.Web.Security 名前空間
その他の技術情報
メンバシップ使用したユーザー管理

MembershipUserCollection プロパティ


MembershipUserCollection メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Add 指定されメンバシップ ユーザーコレクション追加します
パブリック メソッド Clear コレクションからすべてのメンバシップ ユーザー オブジェクト削除します
パブリック メソッド CopyTo メンバシップ ユーザーコレクション1 次元配列コピーします
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 ( Object から継承されます。)
パブリック メソッド GetEnumerator メンバシップ ユーザーコレクション反復処理できる列挙子を取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 ( Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド Remove 指定したユーザー名メンバシップ ユーザー オブジェクトコレクションから削除します
パブリック メソッド SetReadOnly メンバシップ ユーザーコレクション内容読み取り専用にします。
パブリック メソッド ToString  現在の Object を表す String返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.CopyTo MembershipUserCollection オブジェクト内容ArrayコピーしますArray特定のインデックスからコピー開始されます。
参照参照

関連項目

MembershipUserCollection クラス
System.Web.Security 名前空間

その他の技術情報

メンバシップ使用したユーザー管理

MembershipUserCollection メンバ

MembershipUser オブジェクトコレクション

MembershipUserCollection データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド MembershipUserCollection 空のメンバシップ ユーザーコレクション新規作成します
パブリック プロパティパブリック プロパティ
パブリック メソッドパブリック メソッド
( プロテクト メソッド参照)
  名前 説明
パブリック メソッド Add 指定されメンバシップ ユーザーコレクション追加します
パブリック メソッド Clear コレクションからすべてのメンバシップ ユーザー オブジェクト削除します
パブリック メソッド CopyTo メンバシップ ユーザーコレクション1 次元配列コピーします
パブリック メソッド Equals  オーバーロードされます2 つObject インスタンス等しかどうか判断します。 (Object から継承されます。)
パブリック メソッド GetEnumerator メンバシップ ユーザーコレクション反復処理できる列挙子を取得します
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適してます。 (Object から継承されます。)
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド Remove 指定したユーザー名メンバシップ ユーザー オブジェクトコレクションから削除します
パブリック メソッド SetReadOnly メンバシップ ユーザーコレクション内容読み取り専用にします。
パブリック メソッド ToString  現在の Object を表す String返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
明示的インターフェイスの実装明示的インターフェイス実装
  名前 説明
インターフェイスの明示的な実装 System.Collections.ICollection.CopyTo MembershipUserCollection オブジェクト内容ArrayコピーしますArray特定のインデックスからコピー開始されます。
参照参照

関連項目

MembershipUserCollection クラス
System.Web.Security 名前空間

その他の技術情報

メンバシップ使用したユーザー管理


このページでは「.NET Framework クラス ライブラリ リファレンス」からMembershipUserCollectionを検索した結果を表示しています。
Weblioに収録されているすべての辞書からMembershipUserCollectionを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からMembershipUserCollection を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MembershipUserCollection」の関連用語

MembershipUserCollectionのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MembershipUserCollectionのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS