SqlMembershipProvider.UpdateUser(MembershipUser) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SQL Server メンバーシップ データベース内のユーザー情報を更新します。
public:
override void UpdateUser(System::Web::Security::MembershipUser ^ user);
public override void UpdateUser (System.Web.Security.MembershipUser user);
override this.UpdateUser : System.Web.Security.MembershipUser -> unit
Public Overrides Sub UpdateUser (user As MembershipUser)
パラメーター
- user
- MembershipUser
更新対象のユーザーとそのユーザーの更新情報を表す MembershipUser オブジェクト。
例外
user
が null
です。
- または -
user
の UserName プロパティが null
です。
- または -
user
の Email プロパティが null
で、RequiresUniqueEmail が true
に設定されています。
user
の UserName プロパティが空の文字列 ("") であるか、コンマを含んでいるか、または 256 文字を超えています。
- または -
user
の Email の長さが 256 文字を超えています。
- または -
user
の Email プロパティが空の文字列で、RequiresUniqueEmail が true
に設定されています。
user
の UserName プロパティがデータベース内に見つかりません。
- または -
user
の Email プロパティがデータベース内の既存の電子メール アドレスと一致しません。かつ、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">
MembershipUser u;
public void Page_Load(object sender, EventArgs args)
{
u = Membership.GetUser(User.Identity.Name);
if (!IsPostBack)
{
EmailTextBox.Text = u.Email;
}
}
public void UpdateEmailButton_OnClick(object sender, EventArgs args)
{
try
{
u.Email = EmailTextBox.Text;
Membership.UpdateUser(u);
Msg.Text = "User email updated.";
}
catch (System.Configuration.Provider.ProviderException e)
{
Msg.Text = e.Message;
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Update User E-Mail</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Update E-Mail Address for <%=User.Identity.Name%></h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table cellpadding="3" border="0">
<tr>
<td>Email Address:</td>
<td><asp:TextBox id="EmailTextBox" MaxLength="128" Columns="30" runat="server" /></td>
<td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server"
ControlToValidate="EmailTextBox" ForeColor="red"
Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td></td>
<td><asp:Button id="UpdateEmailButton"
Text="Update Email"
OnClick="UpdateEmailButton_OnClick"
runat="server" /></td>
</tr>
</table>
</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">
Dim u As MembershipUser
Public Sub Page_Load(sender As Object, args As EventArgs)
u = Membership.GetUser(User.Identity.Name)
If Not IsPostBack Then EmailTextBox.Text = u.Email
End Sub
Public Sub UpdateEmailButton_OnClick(sender As Object, args As EventArgs)
Try
u.Email = EmailTextBox.Text
Membership.UpdateUser(u)
Msg.Text = "User email updated."
Catch e As System.Configuration.Provider.ProviderException
Msg.Text = e.Message
End Try
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Update User E-Mail</title>
</head>
<body>
<form id="form1" runat="server">
<h3>Update E-Mail Address for <%=User.Identity.Name%></h3>
<asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />
<table cellpadding="3" border="0">
<tr>
<td>Email Address:</td>
<td><asp:TextBox id="EmailTextBox" MaxLength="128" Columns="30" runat="server" /></td>
<td><asp:RequiredFieldValidator id="EmailRequiredValidator" runat="server"
ControlToValidate="EmailTextBox" ForeColor="red"
Display="Static" ErrorMessage="Required" /></td>
</tr>
<tr>
<td></td>
<td><asp:Button id="UpdateEmailButton"
Text="Update Email"
OnClick="UpdateEmailButton_OnClick"
runat="server" /></td>
</tr>
</table>
</form>
</body>
</html>
注釈
このメソッドは、 クラスによって呼び出され Membership 、ASP.NET アプリケーションの構成ファイル (Web.config) で指定された SQL Server データベース内のユーザーのユーザー情報を更新します。 、Comment、IsApproved、LastLoginDateおよび LastActivityDate プロパティのEmail値は、指定したメンバーシップ ユーザーに対して更新されます。
プロパティの UserName 最大長は 256 文字です。 プロパティの Email 最大長は 256 文字です。
メンバーシップ ユーザーのパスワードは、 メソッドを UpdateUser 使用して更新できません。 メンバーシップ ユーザーのパスワードを更新するには、 クラスの ChangePassword メソッドを MembershipUser 使用します。
適用対象
こちらもご覧ください
.NET