SqlMembershipProvider.GetUserNameByEmail(String) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した電子メール アドレスに関連付けられているユーザー名を取得します。
public:
override System::String ^ GetUserNameByEmail(System::String ^ email);
public override string GetUserNameByEmail (string email);
override this.GetUserNameByEmail : string -> string
Public Overrides Function GetUserNameByEmail (email As String) As String
パラメーター
- String
検索対象の電子メール アドレス。
戻り値
指定した電子メール アドレスに関連付けられているユーザー名。 一致するユーザー名が見つからない場合、このメソッドは null
を返します。
例外
email
が 256 文字を超えています。
データベースに同じ電子メール アドレスを持つユーザーが複数あり、かつ RequiresUniqueEmail が true
です。
例
次のコード例では、指定したメール アドレスのユーザー名を取得します。
注意
この例では、 クラスを Membership 使用して、 SqlMembershipProvider Web.config ファイル内の として defaultProvider
指定された を呼び出します。 型SqlMembershipProviderとして既定のプロバイダーにアクセスする必要がある場合は、 クラスの プロパティをProviderMembershipキャストできます。 特定のプロバイダーの種類として他の構成済みプロバイダーにアクセスするには、 クラスの プロパティを使用 Providers して構成された名前でアクセスし、特定の Membership プロバイダーの種類としてキャストできます。
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
public void Search_OnClick(object sender, EventArgs args)
{
string username = Membership.GetUserNameByEmail(EmailTextBox.Text);
if (username == null)
{
Msg.Text = "Email 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 xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Retrieve Username By Email</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Forgot your Username? Search for it by email address.</h3>
<asp:Label id="Msg" runat="server" ForeColor="maroon" /><br />
Email 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="VB" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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 = "Email 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 xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Retrieve Username By Email</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Forgot your Username? Search for it by email address.</h3>
<asp:Label id="Msg" runat="server" ForeColor="maroon" /><br />
Email 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>
注釈
このメソッドは、電子メール アドレスを Membership 持つ クラスによって呼び出されます。このメソッドを使用して、ASP.NET アプリケーションの構成ファイル (Web.config) で指定された SQL Server データベースから関連付けられたユーザー名を取得します。
メンバーシップ データベース内の複数のユーザーが同じメール アドレスを持っている場合は、最初に見つかったユーザー名が返されます。 アプリケーション構成ファイルで 属性を requiresUniqueEmail
に true
設定して、データベース内の各電子メール アドレスが一意であることを確認できます。
email
パラメーター値の先頭と末尾の空白はトリムされます。
適用対象
こちらもご覧ください
.NET