Partager via


SqlMembershipProvider.UpdateUser(MembershipUser) Méthode

Définition

Met à jour les informations à propos d'un utilisateur dans la base de données d'appartenances 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)

Paramètres

user
MembershipUser

Objet MembershipUser qui représente l’utilisateur à mettre à jour et les informations mises à jour pour l’utilisateur.

Exceptions

user a la valeur null.

- ou -

La propriété UserName de user a la valeur null.

- ou -

La propriété Email de user a la valeur null et RequiresUniqueEmail a la valeur true.

La propriété UserName de user est une chaîne vide (""), contient une virgule ou dépasse 256 caractères.

- ou -

La propriété Email de user dépasse 256 caractères.

- ou -

La propriété Email de user est une chaîne vide et RequiresUniqueEmail a la valeur true.

La propriété UserName de user est introuvable dans la base de données.

- ou -

La propriété Email de user équivalait à une adresse e-mail existante dans la base de données et RequiresUniqueEmail a la valeur true.

- ou -

La mise à jour de l'utilisateur a échoué.

Exemples

L’exemple de code suivant met à jour l’adresse e-mail d’un utilisateur.

Notes

Cet exemple utilise la Membership classe pour appeler le SqlMembershipProvider spécifié en tant que defaultProvider dans le fichier Web.config. Si vous devez accéder au fournisseur par défaut en tant que type SqlMembershipProvider, vous pouvez caster la Provider propriété de la Membership classe . Pour accéder à d’autres fournisseurs configurés en tant que type de fournisseur spécifique, vous pouvez y accéder par leur nom configuré avec la Providers propriété de la Membership classe et les caster en tant que type de fournisseur spécifique.

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

Remarques

Cette méthode est appelée par la Membership classe pour mettre à jour les informations utilisateur d’un utilisateur dans la base de données SQL Server spécifiée dans le fichier de configuration de l’application ASP.NET (Web.config). Les Emailvaleurs de propriété , CommentIsApproved, LastLoginDate, et LastActivityDate sont mises à jour pour l’utilisateur d’appartenance spécifié.

La longueur maximale de la UserName propriété est de 256 caractères. La longueur maximale de la Email propriété est de 256 caractères.

Le mot de passe d’un utilisateur d’appartenance ne peut pas être mis à jour à l’aide de la UpdateUser méthode . Pour mettre à jour le mot de passe d’un utilisateur d’appartenance, utilisez la ChangePassword méthode de la MembershipUser classe .

S’applique à

Voir aussi