ChangePassword.NewPassword 属性   
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取用户输入的新密码。
public:
 virtual property System::String ^ NewPassword { System::String ^ get(); };[System.ComponentModel.Browsable(false)]
[System.Web.UI.Themeable(false)]
public virtual string NewPassword { get; }[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.Themeable(false)>]
member this.NewPassword : stringPublic Overridable ReadOnly Property NewPassword As String属性值
用户输入的新密码。
- 属性
示例
下面的代码示例演示如何使用 ASP.NET 页,该页使用 ChangePassword 控件,并包含名为 ChangingPassword的事件的ChangingPassword处理程序。 
              ChangingPassword 将 存储在 属性中的 CurrentPassword 旧密码与 存储在 中的 NewPassword新密码进行比较。 如果它们相同,则更改密码会失败。
控件 ChangePassword 将 DisplayUserName 属性设置为 true ,使用户能够输入其用户名。 这意味着用户无需登录就可查看页面。
该代码示例假定 ASP.NET 网站已配置为使用 ASP.NET 成员身份和 Forms 身份验证,并且已创建一个名称和密码已知的用户。 有关详细信息,请参阅 如何:实现简单窗体身份验证。
<%@ Page Language="C#" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  void Page_Load(Object sender, EventArgs e)
  {
    //Manually register the event-handling methods.
    ChangePassword1.ChangingPassword += new LoginCancelEventHandler(this._ChangingPassword);
  }
  void _ChangingPassword(Object sender, LoginCancelEventArgs e)
  {
    if (ChangePassword1.CurrentPassword.ToString() == ChangePassword1.NewPassword.ToString())
    {
      Message1.Visible = true;
      Message1.Text = "Old password and new password must be different.  Please try again.";
      e.Cancel = true;
    }
    else
    {
      //This line prevents the error showing up after a first failed attempt.
      Message1.Visible = false;
    }
  }
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>ChangePassword including a ChangingPassword event handler</title>
</head>
<body>
  <form id="form1" runat="server">
  <div style="text-align:center">
    <h1>ChangePassword</h1>
    
    <asp:LoginView ID="LoginView1" Runat="server" 
      Visible="true">
      <LoggedInTemplate>
        <asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
        <br />
      </LoggedInTemplate>
      <AnonymousTemplate>
        You are not logged in
      </AnonymousTemplate>
    </asp:LoginView><br />
    
    <asp:ChangePassword ID="ChangePassword1" Runat="server"
      BorderStyle="Solid" 
      BorderWidth="1" 
      CancelDestinationPageUrl="~/Default.aspx" 
      DisplayUserName="true" 
      OnChangingPassword="_ChangingPassword"
      ContinueDestinationPageUrl="~/Default.aspx" >
    </asp:ChangePassword><br />
  
    <asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />
    <asp:HyperLink ID="HyperLink1" Runat="server" 
      NavigateUrl="~/Default.aspx">
      Home
    </asp:HyperLink>
    
  </div>
  </form>
</body>
</html>
<%@ Page Language="VB" AutoEventWireup="True" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
  Public Sub PageLoad(ByVal Sender As Object, ByVal e As EventArgs)
    'Manually register the event-handling methods.
    AddHandler ChangePassword1.ChangingPassword, AddressOf Me._ChangingPassword
  End Sub
  Public Sub _ChangingPassword(ByVal Sender As Object, ByVal e As LoginCancelEventArgs)
    If (ChangePassword1.CurrentPassword.ToString() = ChangePassword1.NewPassword.ToString) Then
      Message1.Visible = True
      Message1.Text = "Old password and new password must be different.  Please try again."
      e.Cancel = True
    Else
      'This line prevents the error showing up after a first failed attempt.
      Message1.Visible = False
    End If
  End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
  <title>ChangePassword including a ChangingPassword event handler</title>
</head>
<body>
  <form id="form1" runat="server">
  <div style="text-align:center">
    <h1>ChangePassword</h1>
    
    <asp:LoginView ID="LoginView1" Runat="server" 
      Visible="true">
      <LoggedInTemplate>
        <asp:LoginName ID="LoginName1" Runat="server" FormatString="You are logged in as {0}." />
        <br />
      </LoggedInTemplate>
      <AnonymousTemplate>
        You are not logged in
      </AnonymousTemplate>
    </asp:LoginView><br />
    
    <asp:ChangePassword ID="ChangePassword1" Runat="server"
      BorderStyle="Solid" 
      BorderWidth="1" 
      CancelDestinationPageUrl="~/Default.aspx" 
      DisplayUserName="true" 
      OnChangingPassword="_ChangingPassword"
      ContinueDestinationPageUrl="~/Default.aspx" >
    </asp:ChangePassword><br />
  
    <asp:Label ID="Message1" Runat="server" ForeColor="Red" /><br />
    <asp:HyperLink ID="HyperLink1" Runat="server" 
      NavigateUrl="~/Default.aspx">
      Home
    </asp:HyperLink>
    
  </div>
  </form>
</body>
</html>
注解
属性 NewPassword 包含用户输入的新密码。
可以使用 NewPasswordRegularExpression 属性来定义新密码的要求。 此正则表达式用于在客户端强制实施密码规则。 与 NewPasswordRegularExpression 可在数据存储级别配置的密码强制实施无关。 密码必须满足成员资格提供程序在 、 MinRequiredNonAlphanumericCharacters和 PasswordStrengthRegularExpression 属性中MinRequiredPasswordLength设置的最低要求。 如果密码不符合这些要求,则会 ChangePasswordError 引发 事件。
重要
通过 HTTP 传输密码是一种潜在的安全威胁。 恶意用户可以查看或入侵 HTTP 传输。 若要提高使用登录控件时的安全性,应将 HTTPS 协议与安全套接字层 (SSL) 加密配合使用,以确保在回发期间无法读取用户的密码。 有关详细信息,请参阅 保护登录控件。
无法通过主题或样式表主题设置此属性。 有关详细信息,请参阅 ThemeableAttribute 和 ASP.NET 主题和皮肤。
适用于
另请参阅
- ConfirmNewPassword
- NewPasswordRegularExpressionErrorMessage
- NewPasswordLabelText
- NewPasswordRegularExpression
- NewPasswordRequiredErrorMessage
- CurrentPassword
- ASP.NET 登录控件概述
- 自定义 ASP.NET 登录控件的外观和行为
- ASP.NET Web 服务器控件模板
- 如何:向匿名用户和登录用户显示不同的信息
- “网站管理工具安全性”选项卡
- 保护登录控件
- Basic Security Practices for Web Applications(Web 应用程序的基本安全实践)
- 保护成员身份