SqlMembershipProvider.UpdateUser(MembershipUser) Método

Definición

Actualiza información sobre un usuario en la base de datos de pertenencia de 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)

Parámetros

user
MembershipUser

Un objeto MembershipUser que representa el usuario que se actualizará y la información actualizada del usuario.

Excepciones

user es null.

o bien

La propiedad UserName de user es null.

o bien

La propiedad Email de user es null y RequiresUniqueEmail se establece en true.

La propiedad UserName de user es una cadena vacía (""), contiene una coma o tiene más de 256 caracteres.

o bien

La propiedad Email de user tiene más de 256 caracteres.

o bien

La propiedad Email de user es una cadena vacía y RequiresUniqueEmail se establece en true.

La propiedad UserName de user no se encontró en la base de datos.

o bien

La propiedad Email de user es igual a una dirección de correo electrónico existente en la base de datos, y RequiresUniqueEmail se establece en verdadero.

o bien

Error en la actualización del usuario.

Ejemplos

En el ejemplo de código siguiente se actualiza la dirección de correo electrónico de un usuario.

Nota

En este ejemplo se usa la Membership clase para llamar SqlMembershipProvider al especificado como defaultProvider en el archivo Web.config. Si necesita tener acceso al proveedor predeterminado como tipo SqlMembershipProvider, puede convertir la Provider propiedad de la Membership clase . Para acceder a otros proveedores configurados como un tipo de proveedor específico, puede acceder a ellos por su nombre configurado con la Providers propiedad de la Membership clase y convertirlos como el tipo de proveedor específico.

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

Comentarios

La clase llama a este método para actualizar la Membership información de usuario de un usuario de la base de datos de SQL Server especificada en el archivo de configuración de la aplicación ASP.NET (Web.config). Los Emailvalores de propiedad , CommentIsApproved, , LastLoginDatey LastActivityDate se actualizan para el usuario de pertenencia especificado.

La longitud máxima de la UserName propiedad es de 256 caracteres. La longitud máxima de la Email propiedad es de 256 caracteres.

La contraseña de un usuario de pertenencia no se puede actualizar mediante el UpdateUser método . Para actualizar la contraseña de un usuario de pertenencia, use el ChangePassword método de la MembershipUser clase .

Se aplica a

Consulte también