ChangePassword.DisplayUserName Property
Gets or sets a value indicating whether the ChangePassword control should display the UserName control and label.
Assembly: System.Web (in System.Web.dll)
Property Value
Type: System.Booleantrue if the ChangePassword control should display the UserName; otherwise, false. The default is false.
In order to change their password, users must be authenticated by the membership provider. To allow users who are not logged on to change their password, or to be authenticated by the membership provider with a different user account and then change the password for that account, the ChangePassword control can display a TextBox control to accept the user name.
You must set the DisplayUserName property to true if the ChangePassword control will be displayed to users who are not logged on; otherwise, the user will not be able to specify a user name.
The following code example shows how to set the DisplayUserName property to display the UserName control to users who are not logged on to the Web site.
<%@ page language="VB"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Context.User.Identity.IsAuthenticated Then changepassword1.DisplayUserName = False End If End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>ChangePassword.DisplayUserName sample.</title> </head> <body> <form id="form1" runat="server"> <div> User's login status: <asp:loginstatus id="status" runat="server" /><br /> <asp:changepassword id="Changepassword1" runat="server" displayusername="true" /> </div> </form> </body> </html>
The following code example shows how to use an ASP.NET page that uses a ChangePassword control, and includes a handler for the ChangingPassword event named ChangingPassword. The code in the ChangingPassword handler compares the old password stored in the CurrentPassword property to the new password stored in NewPassword. If the two passwords are the same, changing the password fails.
The ChangePassword control sets the DisplayUserName property to true to enable the user to enter their user name. This means that the user does not have to log on to view the page.
The code example assumes that the ASP.NET Web site has been configured to use ASP.NET membership and Forms authentication, and that a user has been created whose name and password are known to you. For more information, see How to: Implement Simple Forms Authentication.
<%@ 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>
Available since 2.0
ChangePassword Class
System.Web.UI.WebControls Namespace
ASP.NET Login Controls Overview
Customizing the Appearance of ASP.NET Login Controls
ASP.NET Web Server Controls Templates
How to: Display Different Information to Anonymous and Logged In Users
Web Site Administration Tool Security Tab
Securing Login Controls
Basic Security Practices for Web Applications
Securing Membership