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и LastLoginDateLastActivityDate свойств обновляются для указанного пользователя членства.

Максимальная длина свойства UserName составляет 256 символов. Максимальная длина свойства Email составляет 256 символов.

Пароль для пользователя членства нельзя обновить с помощью UpdateUser метода. Чтобы обновить пароль для пользователя членства, используйте ChangePassword метод MembershipUser класса.

Применяется к

См. также раздел