다음을 통해 공유


SqlMembershipProvider.UpdateUser(MembershipUser) 메서드

정의

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 업데이트할 사용자와 사용자의 업데이트된 정보를 나타내는 개체입니다.

예외

usernull입니다.

-또는-

의 속성 user 입니다 UserNamenull.

-또는-

Email 속성 usernullRequiresUniqueEmail 다음과 으로 설정됩니다 true.

속성 userUserName 빈 문자열("")이거나, 쉼표가 포함되거나, 256자보다 깁니다.

-또는-

속성 Emailuser 이 256자보다 깁니다.

-또는-

속성은 Email 빈 문자열이며 RequiresUniqueEmail .로 설정됩니다true.user

데이터베이스 UserName 에서 user 속성을 찾을 수 없습니다.

-또는-

이 속성은 Email 데이터베이스의 user 기존 전자 메일 주소와 같으며 RequiresUniqueEmail true로 설정됩니다.

-또는-

사용자 업데이트가 실패했습니다.

예제

다음 코드 예제에서는 사용자의 전자 메일 주소를 업데이트합니다.

메모

이 예제에서는 클래스를 Membership 사용하여 Web.config 파일에서 지정된 defaultProvider 클래스를 호출 SqlMembershipProvider 합니다. 기본 공급자에 형식 SqlMembershipProvider으로 액세스해야 하는 경우 클래스의 속성을 캐스팅할 ProviderMembership 수 있습니다. 특정 공급자 유형으로 구성된 다른 공급자에 액세스하려면 클래스의 Membership 속성을 사용하여 구성된 이름으로 Providers 액세스하여 특정 공급자 유형으로 캐스팅할 수 있습니다.

<%@ 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>

설명

이 메서드는 ASP.NET 애플리케이션의 Membership 구성 파일(Web.config)에 지정된 SQL Server 데이터베이스의 사용자에 대한 사용자 정보를 업데이트하기 위해 클래스에서 호출됩니다. Email지정된 멤버 자격 사용자에 대해 , Comment, IsApprovedLastLoginDateLastActivityDate 속성 값이 업데이트됩니다.

속성의 UserName 최대 길이는 256자입니다. 속성의 Email 최대 길이는 256자입니다.

멤버 자격 사용자의 암호는 메서드를 사용하여 UpdateUser 업데이트할 수 없습니다. 멤버 자격 사용자의 암호를 업데이트하려면 클래스의 메서드를 ChangePasswordMembershipUser 사용합니다.

적용 대상

추가 정보