SqlMembershipProvider.GetUserNameByEmail メソッド
アセンブリ: System.Web (system.web.dll 内)
構文Dim instance As SqlMembershipProvider Dim email As String Dim returnValue As String returnValue = instance.GetUserNameByEmail(email)
戻り値
指定した電子メール アドレスに関連付けられているユーザー名。一致するユーザー名が見つからない場合、このメソッドは null 参照 (Visual Basic では Nothing) を返します。
例外
解説このメソッドは Membership クラスによって電子メール アドレスと共に呼び出され、ASP.NET アプリケーションの構成ファイル (Web.config) に指定されている SQL Server データベースから関連付けられているユーザー情報を取得します。
メンバシップ データベース内の複数のユーザーが同じ電子メール アドレスを持っている場合、最初のユーザー名が返されます。データベース内の各電子メール アドレスを一意にするように、アプリケーションの構成ファイルで requiresUniqueEmail 属性を true に設定することもできます。
使用例指定の電子メール アドレス持つユーザー名を取得するコード例を次に示します。
メモ |
|---|
| このコード例では、Membership クラスを使用して、Web.config ファイル内の defaultProvider として指定されている SqlMembershipProvider を呼び出します。既定のプロバイダに SqlMembershipProvider 型としてアクセスする必要がある場合は、Membership クラスの Provider プロパティをキャストできます。固有のプロバイダの種類として構成されたその他のプロバイダにアクセスする場合、Membership クラスの Providers プロパティを使用して、参照されたプロバイダを固有プロバイダの種類としてキャストすることによって、構成された名前でアクセスできます。 |
<%@ Page Language="VB" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> Public Sub Search_OnClick(sender As Object, args As EventArgs) Dim username As String = Membership.GetUserNameByEmail(EmailTextBox.Text) If username Is Nothing Then Msg.Text = "E-mail address " & Server.HtmlEncode(EmailTextBox.Text) & " is not found. Please reenter." Else Msg.Text = "The user name for " & Server.HtmlEncode(EmailTextBox.Text) & _ " is " & Server.HtmlEncode(username) & "." End If End Sub </script> <html> <head> <title>Sample: Retrieve Username By E-mail</title> </head> <body> <form runat="server"> <h3>Forgot your Username? Search for it by e-mail address.</h3> <asp:Label id="Msg" runat="server" ForeColor="maroon" /><BR> E-mail address: <asp:Textbox id="EmailTextBox" Columns="30" runat="server" /> <asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server" ControlToValidate="EmailTextBox" ForeColor="red" Display="Static" ErrorMessage="Required" /><BR> <asp:Button id="SearchButton" Text="Search" OnClick="Search_OnClick" runat="server" /> </form> </body> </html>
<%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <script runat="server"> public void Search_OnClick(object sender, EventArgs args) { string username = Membership.GetUserNameByEmail(EmailTextBox.Text); if (username == null) { Msg.Text = "E-mail address " + Server.HtmlEncode(EmailTextBox.Text) + " is not found. Please reenter."; } else { Msg.Text = "The user name for " + Server.HtmlEncode(EmailTextBox.Text) + " is " + Server.HtmlEncode(username) + "."; } } </script> <html> <head> <title>Sample: Retrieve Username By E-mail</title> </head> <body> <form runat="server"> <h3>Forgot your Username? Search for it by e-mail address.</h3> <asp:Label id="Msg" runat="server" ForeColor="maroon" /><BR> E-mail address: <asp:Textbox id="EmailTextBox" Columns="30" runat="server" /> <asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server" ControlToValidate="EmailTextBox" ForeColor="red" Display="Static" ErrorMessage="Required" /><BR> <asp:Button id="SearchButton" Text="Search" OnClick="Search_OnClick" runat="server" /> </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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。
バージョン情報
参照- SqlMembershipProvider.GetUserNameByEmail メソッドのページへのリンク
.gif)