SqlMembershipProvider.UpdateUser(MembershipUser) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.