Freigeben über


SqlMembershipProvider.UpdateUser(MembershipUser) Methode

Definition

Aktualisiert Informationen zu einem Benutzer in der Mitgliedschaftsdatenbank von 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

Ein MembershipUser-Objekt, das den zu aktualisierenden Benutzer und die aktualisierten Informationen für den Benutzer darstellt.

Ausnahmen

user ist null.

- oder -

Die UserName-Eigenschaft von user ist null.

- oder -

Die Email-Eigenschaft von user ist null, und RequiresUniqueEmail ist auf true festgelegt.

Die UserName-Eigenschaft von user ist eine leere Zeichenfolge (""), enthält ein Komma oder ist länger als 256 Zeichen.

- oder -

Die Email-Eigenschaft von user ist länger als 256 Zeichen.

- oder -

Die Email-Eigenschaft von user ist eine leere Zeichenfolge, und RequiresUniqueEmail ist auf true festgelegt.

Die UserName-Eigenschaft von user wurde in der Datenbank nicht gefunden.

- oder -

Die Email-Eigenschaft von user stimmte mit einer vorhandenen E-Mail-Adresse in der Datenbank überein, und RequiresUniqueEmail ist auf TRUE festgelegt.

- oder -

Bei der Benutzeraktualisierung ist ein Fehler aufgetreten.

Beispiele

Im folgenden Codebeispiel wird die E-Mail-Adresse für einen Benutzer aktualisiert.

Hinweis

In diesem Beispiel wird die Membership -Klasse verwendet, um die SqlMembershipProvider angegebene als in defaultProvider der Web.config-Datei aufzurufen. Wenn Sie auf den Standardanbieter als Typ SqlMembershipProviderzugreifen müssen, können Sie die Provider -Eigenschaft der Membership -Klasse umwandeln. Um auf andere konfigurierte Anbieter als bestimmten Anbietertyp zuzugreifen, können Sie über ihren konfigurierten Namen mit der Providers -Eigenschaft der Membership -Klasse auf sie zugreifen und sie in den spezifischen Anbietertyp umwandeln.

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

Hinweise

Diese Methode wird von der Membership -Klasse aufgerufen, um Benutzerinformationen für einen Benutzer in der SQL Server-Datenbank zu aktualisieren, die in der ASP.NET-Anwendungskonfigurationsdatei (Web.config) angegeben ist. Die EmailEigenschaftswerte , Comment, IsApproved, LastLoginDateund LastActivityDate werden für den angegebenen Mitgliedschaftsbenutzer aktualisiert.

Die maximale Länge für die UserName Eigenschaft beträgt 256 Zeichen. Die maximale Länge für die Email Eigenschaft beträgt 256 Zeichen.

Das Kennwort für einen Mitgliedschaftsbenutzer kann nicht mithilfe der UpdateUser -Methode aktualisiert werden. Verwenden Sie die -Methode der -Klasse, um das ChangePassword Kennwort für einen Mitgliedschaftsbenutzer MembershipUser zu aktualisieren.

Gilt für:

Weitere Informationen