SqlMembershipProvider.UpdateUser(MembershipUser) Methode

Definitie

Hiermee wordt informatie over een gebruiker in de SQL Server-lidmaatschapsdatabase bijgewerkt.

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)

Parameters

user
MembershipUser

Een MembershipUser object dat de gebruiker vertegenwoordigt die moet worden bijgewerkt en de bijgewerkte informatie voor de gebruiker.

Uitzonderingen

user is null.

– of –

De UserName eigenschap van user is null.

– of –

De Email eigenschap user is null en RequiresUniqueEmail is ingesteld op true.

De UserName eigenschap is user een lege tekenreeks (""), bevat een komma of is langer dan 256 tekens.

– of –

De Email eigenschap van user meer dan 256 tekens is.

– of –

De Email eigenschap is user een lege tekenreeks en RequiresUniqueEmail is ingesteld op true.

De UserName eigenschap van user is niet gevonden in de database.

– of –

De Email eigenschap van user is gelijk aan een bestaand e-mailadres in de database en RequiresUniqueEmail is ingesteld op waar.

– of –

De update van de gebruiker is mislukt.

Voorbeelden

In het volgende codevoorbeeld wordt het e-mailadres voor een gebruiker bijgewerkt.

Note

In dit voorbeeld wordt de Membership klasse gebruikt om de SqlMembershipProvider opgegeven aan te roepen als het defaultProvider in het Web.config-bestand. Als u toegang wilt krijgen tot de standaardprovider als het type SqlMembershipProvider, kunt u de Provider eigenschap van de Membership klasse casten. Als u toegang wilt krijgen tot andere geconfigureerde providers als een specifiek providertype, kunt u ze openen met hun geconfigureerde naam met de Providers eigenschap van de Membership klasse en deze casten als het specifieke providertype.

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

Opmerkingen

Deze methode wordt aangeroepen door de klasse Membership om gebruikersgegevens voor een gebruiker bij te werken in de SQL Server-database die is opgegeven in het configuratiebestand van de ASP.NET toepassing (Web.config). De Emailwaarden van , Comment, IsApprovedLastLoginDateen LastActivityDate eigenschappen worden bijgewerkt voor de opgegeven lidmaatschapsgebruiker.

De maximale lengte voor de UserName eigenschap is 256 tekens. De maximale lengte voor de Email eigenschap is 256 tekens.

Het wachtwoord voor een lidmaatschapsgebruiker kan niet worden bijgewerkt met behulp van de UpdateUser methode. Als u het wachtwoord voor een lidmaatschapsgebruiker wilt bijwerken, gebruikt u de ChangePassword methode van de MembershipUser klasse.

Van toepassing op

Zie ook