MembershipUserCollection クラス
アセンブリ: System.Web (system.web.dll 内)

<SerializableAttribute> _ Public NotInheritable Class MembershipUserCollection Implements ICollection, IEnumerable

System.Web.Security.MembershipUserCollection は、System.Web.Security.Membership クラスの GetAllUsers、FindUsersByName、および FindUsersByEmail メソッドによって返されます。GetAllUsers、FindUsersByName、および 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>


System.Web.Security.MembershipUserCollection


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MembershipUserCollection コンストラクタ
アセンブリ: System.Web (system.web.dll 内)


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

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; }

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


MembershipUserCollection プロパティ

名前 | 説明 | |
---|---|---|
![]() | Count | コレクションのメンバシップ ユーザー オブジェクトの数を取得します。 |
![]() | IsSynchronized | メンバシップ ユーザーのコレクションがスレッド セーフかどうかを示す値を取得します。 |
![]() | Item | 指定されたユーザー名が参照するコレクション内のメンバシップ ユーザーを取得します。 |
![]() | SyncRoot | 同期のルートを取得します。 |

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 から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Collections.ICollection.CopyTo | MembershipUserCollection オブジェクトの内容を Array にコピーします。Array の特定のインデックスからコピーが開始されます。 |

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


名前 | 説明 | |
---|---|---|
![]() | Count | コレクションのメンバシップ ユーザー オブジェクトの数を取得します。 |
![]() | IsSynchronized | メンバシップ ユーザーのコレクションがスレッド セーフかどうかを示す値を取得します。 |
![]() | Item | 指定されたユーザー名が参照するコレクション内のメンバシップ ユーザーを取得します。 |
![]() | SyncRoot | 同期のルートを取得します。 |

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

名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | System.Collections.ICollection.CopyTo | MembershipUserCollection オブジェクトの内容を Array にコピーします。Array の特定のインデックスからコピーが開始されます。 |

Weblioに収録されているすべての辞書からMembershipUserCollectionを検索する場合は、下記のリンクをクリックしてください。

- MembershipUserCollectionのページへのリンク