SqlMembershipProvider.FindUsersByName メソッド
アセンブリ: System.Web (system.web.dll 内)

Public Overrides Function FindUsersByName ( _ usernameToMatch As String, _ pageIndex As Integer, _ pageSize As Integer, _ <OutAttribute> ByRef totalRecords As Integer _ ) As MembershipUserCollection
Dim instance As SqlMembershipProvider Dim usernameToMatch As String Dim pageIndex As Integer Dim pageSize As Integer Dim totalRecords As Integer Dim returnValue As MembershipUserCollection returnValue = instance.FindUsersByName(usernameToMatch, pageIndex, pageSize, totalRecords)
public override MembershipUserCollection FindUsersByName ( string usernameToMatch, int pageIndex, int pageSize, out int totalRecords )
public: virtual MembershipUserCollection^ FindUsersByName ( String^ usernameToMatch, int pageIndex, int pageSize, [OutAttribute] int% totalRecords ) override
public MembershipUserCollection FindUsersByName ( String usernameToMatch, int pageIndex, int pageSize, /** @attribute OutAttribute() */ /** @ref */ int totalRecords )
戻り値
pageIndex で指定されたページから始まる pageSizeMembershipUser オブジェクトのページを格納している MembershipUserCollection。


FindUsersByName は、構成されている ApplicationName に対応する指定の usernameToMatch に一致するユーザー名を持つメンバシップ ユーザーの一覧を返します。
SqlMembershipProvider は、LIKE 句を使用して、usernameToMatch パラメータ値に一致するユーザー名を検索します。このパラメータ値には SQL Server ワイルドカード文字を含めることができます。たとえば、usernameToMatch パラメータを "user1" に設定した場合、"user1" のユーザー名が付いたユーザー情報が存在していれば、そのユーザー情報が返されます。usernameToMatch パラメータを "user%" に設定すると、ユーザー名が "user1"、"user2"、"user_admin" などのユーザーのユーザー情報が返されます。
FindUsersByName によって返される結果は、pageIndex パラメータおよび pageSize パラメータによって制限されます。pageSize パラメータには、MembershipUserCollection で返す MembershipUser オブジェクトの最大数を指定します。pageIndex パラメータは、取得する結果のページを識別します。最初のページは 0 で表されます。totalRecords パラメータは、構成された applicationName のメンバシップ ユーザーの総数に設定される out パラメータです。たとえば、構成されている applicationName に 13 人のユーザーが存在し、pageIndex 値が 1 で pageSize が 5 である場合、MembershipUserCollection の戻り値には 6 番目から 10 番目までのユーザーが含まれます。totalRecords パラメータは、13 に設定されます。

FindUsersByName メソッドを使用して、メンバシップ ユーザー情報を取得し、結果ページを表示するコード例を次に示します。
![]() |
---|
このコード例では、System.Web.Security.SqlMembershipProvider を使用して、Web.config ファイル内の defaultProvider として指定されている SqlMembershipProvider を呼び出します。既定のプロバイダに SqlMembershipProvider 型としてアクセスする必要がある場合は、Membership クラスの Provider プロパティをキャストできます。固有のプロバイダの種類として構成されたその他のプロバイダにアクセスする場合、Membership クラスの Providers プロパティを使用して、参照されたプロバイダを固有プロバイダの種類としてキャストすることによって、構成された名前でアクセスできます。 |
<%@ 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 Private Sub GetUsers() UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text, _ 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 Public Sub GoButton_OnClick(sender As Object, args As EventArgs) currentPage = 1 GetUsers() End Sub </script> <html> <head> <title>Sample: Find Users</title> </head> <body> <form runat="server"> <h3>User List</h3> Username to Search for: <asp:TextBox id="UsernameTextBox" runat="server" /> <asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" 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; private void GetUsers() { UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text, 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(); } public void GoButton_OnClick(object sender, EventArgs args) { currentPage = 1; GetUsers(); } </script> <html> <head> <title>Sample: Find Users</title> </head> <body> <form runat="server"> <h3>User List</h3> Username to Search for: <asp:TextBox id="UsernameTextBox" runat="server" /> <asp:Button id="GoButton" Text=" Go " OnClick="GoButton_OnClick" 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>

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

- SqlMembershipProvider.FindUsersByName メソッドのページへのリンク