SqlMembershipProvider.UpdateUser(MembershipUser) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Atualiza informações sobre um usuário no banco de dados de associação 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 usuário a ser atualizado e as informações atualizadas para o usuário.
Exceções
user é null.
- ou -
A UserName propriedade de user é null.
- ou -
A Email propriedade de user é null e RequiresUniqueEmail está definida como true.
A UserName propriedade é uma cadeia de user caracteres vazia (""), contém uma vírgula ou tem mais de 256 caracteres.
- ou -
A Email propriedade de user é maior que 256 caracteres.
- ou -
A Email propriedade de é uma cadeia de user caracteres vazia e RequiresUniqueEmail é definida como true.
A UserName propriedade de não foi encontrada no banco de user dados.
- ou -
A Email propriedade de era igual a um endereço de user email existente no banco de dados e RequiresUniqueEmail é definida como true.
- ou -
Falha na atualização do usuário.
Exemplos
O exemplo de código a seguir atualiza o endereço de email de um usuário.
Observação
Este exemplo usa a Membership classe para chamar o SqlMembershipProvider especificado como o defaultProvider arquivo Web.config. Se você precisar acessar o provedor padrão como o tipo SqlMembershipProvider, poderá converter a Provider propriedade da Membership classe. Para acessar outros provedores configurados como um tipo de provedor específico, você pode acessá-los pelo nome configurado com a Providers propriedade da Membership classe e convertê-los como o tipo de provedor 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>
Comentários
Esse método é chamado pela classe para atualizar as Membership informações do usuário para um usuário no banco de dados do SQL Server especificado no arquivo de configuração do aplicativo ASP.NET (Web.config). Os Emailvalores , Comment, IsApprovede LastLoginDatepropriedade LastActivityDate são atualizados para o usuário de associação especificado.
O comprimento máximo da UserName propriedade é de 256 caracteres. O comprimento máximo da Email propriedade é de 256 caracteres.
A senha de um usuário associado não pode ser atualizada usando o UpdateUser método. Para atualizar a senha de um usuário associado, use o ChangePassword método da MembershipUser classe.