Share via


SqlMembershipProvider.UpdateUser(MembershipUser) Metodo

Definizione

Aggiorna le informazioni riguardanti un utente nel database di appartenenze 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)

Parametri

user
MembershipUser

Oggetto MembershipUser che rappresenta l'utente da aggiornare e le informazioni aggiornate per l'utente.

Eccezioni

user è null.

-oppure-

La proprietà UserName di user è null.

-oppure-

La proprietà Email del parametro user è null e la proprietà RequiresUniqueEmail è impostata su true.

La proprietà UserName del parametro user è una stringa vuota (""), contiene una virgola o è di lunghezza superiore a 256 caratteri.

-oppure-

La proprietà Email del parametro user presenta una lunghezza maggiore di 256 caratteri.

-oppure-

La proprietà Email del parametro user è una stringa vuota e la proprietà RequiresUniqueEmail è impostata su true.

La proprietà UserName del parametro user non è stata individuata nel database.

-oppure-

La proprietà Email del parametro user è uguale a un indirizzo di posta elettronica già presente nel database e la proprietà RequiresUniqueEmail è impostata su true.

-oppure-

L'aggiornamento dell'utente non è riuscito.

Esempio

Nell'esempio di codice seguente viene aggiornato l'indirizzo di posta elettronica per un utente.

Nota

In questo esempio viene utilizzata la Membership classe per chiamare l'oggetto SqlMembershipProvider specificato come defaultProvider nel file Web.config. Se è necessario accedere al provider predefinito come tipo SqlMembershipProvider, è possibile eseguire il cast della Provider proprietà della Membership classe . Per accedere ad altri provider configurati come tipo di provider specifico, è possibile accedervi tramite il nome configurato con la Providers proprietà della classe ed eseguirne il Membership cast come tipo di provider specifico.

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

Commenti

Questo metodo viene chiamato dalla Membership classe per aggiornare le informazioni utente per un utente nel database SQL Server specificato nel file di configurazione dell'applicazione ASP.NET (Web.config). I valori delle Emailproprietà , Comment, IsApprovedLastLoginDate, e LastActivityDate vengono aggiornati per l'utente di appartenenza specificato.

La lunghezza massima per la UserName proprietà è di 256 caratteri. La lunghezza massima per la Email proprietà è di 256 caratteri.

La password per un utente di appartenenza non può essere aggiornata utilizzando il UpdateUser metodo . Per aggiornare la password per un utente di appartenenza, usare il ChangePassword metodo della MembershipUser classe .

Si applica a

Vedi anche