Bagikan melalui


SqlMembershipProvider.UpdateUser(MembershipUser) Metode

Definisi

Memperbarui informasi tentang pengguna di database keanggotaan 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)

Parameter

user
MembershipUser

Objek MembershipUser yang mewakili pengguna untuk memperbarui dan informasi yang diperbarui untuk pengguna.

Pengecualian

useradalah null.

-atau-

Properti UserName dari user adalah null.

-atau-

Properti Email dari user adalah null dan RequiresUniqueEmail diatur ke true.

Properti UserName dari user adalah string kosong (""), berisi koma, atau lebih panjang dari 256 karakter.

-atau-

Properti Email lebih panjang user dari 256 karakter.

-atau-

Properti Email dari user adalah string kosong dan RequiresUniqueEmail diatur ke true.

Properti UserName tidak user ditemukan dalam database.

-atau-

Properti Email sama user dengan alamat email yang ada dalam database dan RequiresUniqueEmail diatur ke true.

-atau-

Pembaruan pengguna gagal.

Contoh

Contoh kode berikut memperbarui alamat email untuk pengguna.

Catatan

Contoh ini menggunakan Membership kelas untuk memanggil SqlMembershipProvider yang ditentukan sebagai defaultProvider dalam file Web.config. Jika Anda perlu mengakses penyedia default sebagai jenis SqlMembershipProvider, Anda dapat melemparkan Provider properti Membership kelas . Untuk mengakses penyedia lain yang dikonfigurasi sebagai jenis penyedia tertentu, Anda dapat mengaksesnya dengan nama yang dikonfigurasi dengan Providers properti Membership kelas dan mentransmisikannya sebagai jenis penyedia tertentu.

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

Keterangan

Metode ini dipanggil oleh Membership kelas untuk memperbarui informasi pengguna untuk pengguna di database SQL Server yang ditentukan dalam file konfigurasi aplikasi ASP.NET (Web.config). Nilai Emailproperti , Comment, LastLoginDateIsApproved, dan LastActivityDate diperbarui untuk pengguna keanggotaan yang ditentukan.

Panjang maksimum untuk UserName properti adalah 256 karakter. Panjang maksimum untuk Email properti adalah 256 karakter.

Kata sandi untuk pengguna keanggotaan tidak dapat diperbarui menggunakan metode .UpdateUser Untuk memperbarui kata sandi untuk pengguna keanggotaan, gunakan ChangePassword metode MembershipUser kelas .

Berlaku untuk

Lihat juga