PasswordRecovery.UserNameTemplate Property
Gets or sets the template used to display the UserName view of the PasswordRecovery control.
Assembly: System.Web (in System.Web.dll)
[BrowsableAttribute(false)] [PersistenceModeAttribute(PersistenceMode.InnerProperty)] [TemplateContainerAttribute(typeof(PasswordRecovery))] public virtual ITemplate UserNameTemplate { get; set; }
Property Value
Type: System.Web.UI.ITemplateAn ITemplate that contains the template for displaying the PasswordRecovery control in UserName view. The default is null.
The UserNameTemplate property contains the template that defines the appearance of the PasswordRecovery control in UserName view.
The following table lists the required and optional controls used in the UserName view template.
ID or Command name | Control type | Required/optional |
|---|---|---|
UserName | Any control that implements IEditableTextControl. | Optional |
Submit | Any control that causes event bubbling. | Optional |
The Submit control can be any control that causes event bubbling, such as Button, LinkButton, or ImageButton. The control's CommandName property must be set to "Submit".
The PasswordRecovery control throws an HttpException exception if the UserName view does not contain the required controls. No exception is thrown if you give an optional control ID to a control of the wrong type; however, the control is subsequently ignored by the PasswordRecovery control.
When you use a template to define the appearance of the UserName view, only the following properties affect the behavior of the control:
All properties inherited from WebControl (see the PasswordRecovery control members table).
All other properties are inactive when you use a template for the UserName view of the PasswordRecovery control.
The following code example uses the UserNameTemplate property to define a template for the UserName view of the PasswordRecovery control that enables the user to choose the domain that contains his or her login information.
Security Note
|
|---|
This example contains a text box that accepts user input, which is a potential security threat. By default, ASP.NET Web pages validate that user input does not include script or HTML elements. For more information, see Script Exploits Overview. |
<%@ page language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> void PasswordRecovery1_VerifyingUser(Object sender, System.Web.UI.WebControls.LoginCancelEventArgs e) { DropDownList provider = ((DropDownList)PasswordRecovery1.FindControl("LoginProvider")); PasswordRecovery1.MembershipProvider = provider.SelectedValue; if (PasswordRecovery1.MembershipProvider != "Default") { PasswordRecovery1.UserName = String.Format("{0}\\{1}", PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName); } } void PasswordRecovery1_VerifyingAnswer(Object sender, System.Web.UI.WebControls.LoginCancelEventArgs e) { PasswordRecovery1.UserName = String.Format("{0}\\{1}", PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName); } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>ASP.NET Example</title> </head> <body> <form id="form1" runat="server"> <asp:passwordrecovery id="PasswordRecovery1" runat="server" onverifyinguser="PasswordRecovery1_VerifyingUser" onverifyinganswer="PasswordRecovery1_VerifyingAnswer"> <usernametemplate> <table border="0"> <tr> <td align="Center" colspan="2">Forgot Your Password?</td> </tr> <tr> <td align="Center" colspan="2">Enter your User Name to receive your password.</td> </tr> <tr> <td>Log in domain:</td> <td> <asp:dropdownlist id="LoginProvider" runat="server"> <asp:listitem value="Default">Default</asp:listitem> <asp:listitem value="Administration">Administration</asp:listitem> <asp:listitem value="Editorial">Editorial</asp:listitem> <asp:listitem value="Finance">Finance</asp:listitem> <asp:listitem value="Marketing">Marketing</asp:listitem> </asp:dropdownlist> </td> </tr> <tr> <td align="Right">User Name:</td> <td> <asp:textbox runat="server" id="UserName"></asp:textbox> <asp:requiredfieldvalidator runat="server" controltovalidate="UserName" errormessage="User Name." id="UserNameRequired"> * </asp:requiredfieldvalidator> </td> </tr> <tr> <td align="Right" colspan="2"> <asp:button runat="server" commandname="Submit" text="Submit" id="Button"> </asp:button> </td> </tr> <tr> <td colspan="2" style="color:Red;"> <asp:literal runat="server" id="FailureText"></asp:literal> </td> </tr> </table> </usernametemplate> </asp:passwordrecovery> </form> </body> </html>
Available since 2.0
