SqlMembershipProvider.UpdateUser(MembershipUser) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обновляет информацию о пользователе в базе данных членства 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)
Параметры
- user
- MembershipUser
Объект MembershipUser, представляющий обновляемого пользователя и измененные сведения для этого пользователя.
Исключения
user
имеет значение null
.
-или-
Свойство UserName параметра user
равно null
.
-или-
Свойству Email объекта user
задано значение null
, и свойству RequiresUniqueEmail задано значение true
.
Свойство UserName объекта user
представляет собой пустую строку (""), содержит запятую или длиннее 256 символов.
-или-
Строка свойства Email объекта user
длиннее 256 знаков.
-или-
Свойство Email объекта user
содержит пустую строку и свойству RequiresUniqueEmail задано значение true
.
Значение свойства UserName объекта user
не найдено в базе данных.
-или-
Свойство Email объекта user
было равно существующему адресу электронной почты в базе данных, и свойству RequiresUniqueEmail задано значение "истина".
-или-
Сбой обновления пользователя.
Примеры
В следующем примере кода обновляется адрес электронной почты пользователя.
Примечание
В этом примере класс используется Membership для вызова указанного SqlMembershipProvider объекта в качестве defaultProvider
в файле Web.config. Если необходимо получить доступ к поставщику по умолчанию в качестве типа SqlMembershipProvider, можно привести Provider свойство Membership класса . Чтобы получить доступ к другим настроенным поставщикам в качестве определенного типа поставщика, вы можете получить к ним доступ по их заданному имени со Providers свойством Membership класса и привести их к определенному типу поставщика.
<%@ 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>
Комментарии
Этот метод вызывается классом Membership для обновления сведений о пользователе в базе данных SQL Server, указанной в файле конфигурации приложения ASP.NET (Web.config). Значения Emailсвойств , Comment, IsApproved, LastLoginDateи LastActivityDate обновляются для указанного пользователя членства.
Максимальная длина UserName свойства составляет 256 символов. Максимальная длина Email свойства составляет 256 символов.
Пароль для пользователя членства не может быть обновлен с помощью UpdateUser метода . Чтобы обновить пароль для пользователя членства, используйте ChangePassword метод MembershipUser класса .