SqlMembershipProvider.UpdateUser(MembershipUser) Método

Definição

Atualiza informações sobre um utilizador na base de dados de membros do 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

Um MembershipUser objeto que representa o utilizador a atualizar e a informação atualizada para o utilizador.

Exceções

user é null.

-ou-

A UserName propriedade de user é null.

-ou-

A Email propriedade de user é null e RequiresUniqueEmail é definida como true.

A UserName propriedade de user é uma cadeia vazia (""), contém uma vírgula, ou tem mais de 256 caracteres.

-ou-

A Email propriedade de user é superior a 256 caracteres.

-ou-

A Email propriedade de user é uma cadeia vazia e RequiresUniqueEmail é definida como true.

A UserName propriedade de user não foi encontrada na base de dados.

-ou-

A Email propriedade de user era igual a um endereço de email existente na base de dados e RequiresUniqueEmail é definida como verdadeira.

-ou-

A atualização do utilizador falhou.

Exemplos

O seguinte exemplo de código atualiza o endereço de email de um utilizador.

Note

Este exemplo usa a Membership classe para chamar o SqlMembershipProvider especificado como o defaultProvider no ficheiro Web.config. Se precisares de aceder ao fornecedor padrão como tipo SqlMembershipProvider, podes castar a Provider propriedade da Membership classe. Para aceder a outros fornecedores configurados como um tipo específico de fornecedor, pode aceder a eles pelo nome configurado com a Providers propriedade da Membership classe e atribuí-los ao tipo específico de fornecedor.

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

Observações

Este método é chamado pela classe Membership para atualizar a informação do utilizador de um utilizador na base de dados SQL Server especificada no ficheiro de configuração da aplicação ASP.NET (Web.config). Os Emailvalores de , Comment, IsApproved, LastLoginDate, e LastActivityDate propriedades são atualizados para o utilizador de membro especificado.

O comprimento máximo da UserName propriedade é de 256 caracteres. O comprimento máximo da Email propriedade é de 256 caracteres.

A palavra-passe de um utilizador membro não pode ser atualizada usando o UpdateUser método. Para atualizar a palavra-passe de um utilizador de membro, use o ChangePassword método da MembershipUser classe.

Aplica-se a

Ver também