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

Public Shared Function FindUsersByName ( _ usernameToMatch As String, _ pageIndex As Integer, _ pageSize As Integer, _ <OutAttribute> ByRef totalRecords As Integer _ ) As MembershipUserCollection
Dim usernameToMatch As String Dim pageIndex As Integer Dim pageSize As Integer Dim totalRecords As Integer Dim returnValue As MembershipUserCollection returnValue = Membership.FindUsersByName(usernameToMatch, pageIndex, pageSize, totalRecords)
public static MembershipUserCollection FindUsersByName ( string usernameToMatch, int pageIndex, int pageSize, out int totalRecords )
public: static MembershipUserCollection^ FindUsersByName ( String^ usernameToMatch, int pageIndex, int pageSize, [OutAttribute] int% totalRecords )
public static MembershipUserCollection FindUsersByName ( String usernameToMatch, int pageIndex, int pageSize, /** @attribute OutAttribute() */ /** @ref */ int totalRecords )
戻り値
pageIndex で指定されたページから始まる pageSizeMembershipUser オブジェクトのページを格納している MembershipUserCollection。 usernameToMatch パラメータ値の先頭と末尾の空白はトリムされます。


FindUsersByName は、構成された applicationName に対して指定された usernameToMatch に一致するユーザー名を持つメンバシップ ユーザーの一覧を返します。
SqlMembershipProvider は、usernameToMatch パラメータに対して LIKE 句を使用した検索を実行します。SQL Server の LIKE 句でサポートされる任意のワイルドカードを usernameToMatch パラメータの値に使用できます。
FindUsersByName によって返される結果は、pageIndex パラメータおよび pageSize パラメータによって制限されます。pageSize パラメータには、MembershipUserCollection で返す MembershipUser オブジェクトの最大数を指定します。pageIndex パラメータは、取得する結果のページを識別します。最初のページは 0 で表されます。totalRecords パラメータは、usernameToMatch 値と一致するメンバシップ ユーザーの総数に設定される out パラメータです。たとえば、ユーザー名の一部または全体が usernameToMatch と一致するユーザーが 13 人見つかり、pageSize が 5 で pageIndex 値が 1 であった場合、返される MembershipUserCollection には返されるユーザーの 6 番目から 10 番目が含まれます。totalRecords は 13 に設定されます。

FindUsersByName メソッドを使用し、ユーザー入力に基づいてメンバシップ データベースからメンバシップ ユーザー情報を取得し、その結果をデータのページに表示するコード例を次に示します。
<%@ 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

Public Shared Function FindUsersByName ( _ usernameToMatch As String _ ) As MembershipUserCollection
Dim usernameToMatch As String Dim returnValue As MembershipUserCollection returnValue = Membership.FindUsersByName(usernameToMatch)
戻り値
usernameToMatch パラメータと一致するすべてのユーザーが含まれる MembershipUserCollection。 usernameToMatch パラメータ値の先頭と末尾の空白はトリムされます。


FindUsersByName は、構成された applicationName に対して指定された usernameToMatch に一致するユーザー名を持つメンバシップ ユーザーの一覧を返します。
SqlMembershipProvider は、usernameToMatch パラメータに対して LIKE 句を使用した検索を実行します。SQL Server の LIKE 句でサポートされる任意のワイルドカードを usernameToMatch パラメータの値に使用できます。

FindUsersByName メソッドを使用し、ユーザー入力に基づいてメンバシップ データベースからメンバシップ ユーザー情報を取得し、その結果をデータのページに表示するコード例を次に示します。
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub GoButton_OnClick(sender As Object, args As EventArgs) UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text) UserGrid.DataBind() 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: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"> public void GoButton_OnClick(object sender, EventArgs args) { UserGrid.DataSource = Membership.FindUsersByName(UsernameTextBox.Text); UserGrid.DataBind(); } </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: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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

