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

Dim emailToMatch As String Dim returnValue As MembershipUserCollection returnValue = Membership.FindUsersByEmail(emailToMatch)
- emailToMatch
emailToMatch パラメータと一致するすべてのユーザーが含まれる MembershipUserCollection。 emailToMatch パラメータ値の先頭と末尾の空白はトリムされます。

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

FindUsersByEmail メソッドを使用し、ユーザー入力に基づいてメンバシップ データベースからメンバシップ ユーザー情報を取得し、その結果をデータのページに表示するコード例を次に示します。
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub GoButton_OnClick(sender As Object, args As EventArgs) UserGrid.DataSource = Membership.FindUsersByEmail(EmailTextBox.Text) UserGrid.DataBind() End Sub </script> <html> <head> <title>Sample: Find Users by Email</title> </head> <body> <form runat="server"> <h3>User List</h3> E-mail address to Search for: <asp:TextBox id="EmailTextBox" 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.FindUsersByEmail(EmailTextBox.Text); UserGrid.DataBind(); } </script> <html> <head> <title>Sample: Find Users by Email</title> </head> <body> <form runat="server"> <h3>User List</h3> E-mail address to Search for: <asp:TextBox id="EmailTextBox" 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


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

Public Shared Function FindUsersByEmail ( _ emailToMatch As String, _ pageIndex As Integer, _ pageSize As Integer, _ <OutAttribute> ByRef totalRecords As Integer _ ) As MembershipUserCollection
Dim emailToMatch As String Dim pageIndex As Integer Dim pageSize As Integer Dim totalRecords As Integer Dim returnValue As MembershipUserCollection returnValue = Membership.FindUsersByEmail(emailToMatch, pageIndex, pageSize, totalRecords)
public static MembershipUserCollection FindUsersByEmail ( string emailToMatch, int pageIndex, int pageSize, out int totalRecords )
public: static MembershipUserCollection^ FindUsersByEmail ( String^ emailToMatch, int pageIndex, int pageSize, [OutAttribute] int% totalRecords )
public static MembershipUserCollection FindUsersByEmail ( String emailToMatch, int pageIndex, int pageSize, /** @attribute OutAttribute() */ /** @ref */ int totalRecords )
- emailToMatch
pageIndex で指定されたページから始まる pageSizeMembershipUser オブジェクトのページを格納している MembershipUserCollection。


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

FindUsersByEmail メソッドを使用し、ユーザー入力に基づいてメンバシップ データベースからメンバシップ ユーザー情報を取得し、その結果をデータのページに表示するコード例を次に示します。
<%@ 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(EmailTextBox.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 by Email</title> </head> <body> <form runat="server"> <h3>User List</h3> Email address to Search for: <asp:TextBox id="EmailTextBox" 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.FindUsersByEmail(EmailTextBox.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 by Email</title> </head> <body> <form runat="server"> <h3>User List</h3> E-mail address to Search for: <asp:TextBox id="EmailTextBox" 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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。

