PasswordRecovery.UserNameTemplate Property
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets or sets the template used to display the UserName view of the PasswordRecovery control.
public:
virtual property System::Web::UI::ITemplate ^ UserNameTemplate { System::Web::UI::ITemplate ^ get(); void set(System::Web::UI::ITemplate ^ value); };
[System.ComponentModel.Browsable(false)]
[System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)]
[System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.PasswordRecovery))]
public virtual System.Web.UI.ITemplate UserNameTemplate { get; set; }
[<System.ComponentModel.Browsable(false)>]
[<System.Web.UI.PersistenceMode(System.Web.UI.PersistenceMode.InnerProperty)>]
[<System.Web.UI.TemplateContainer(typeof(System.Web.UI.WebControls.PasswordRecovery))>]
member this.UserNameTemplate : System.Web.UI.ITemplate with get, set
Public Overridable Property UserNameTemplate As ITemplate
Property Value
An ITemplate that contains the template for displaying the PasswordRecovery control in UserName view. The default is null
.
- Attributes
Examples
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 their login information.
Important
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>
<%@ 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 PasswordRecovery1_VerifyingUser(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)
Dim provider as DropDownList
provider = CType(PasswordRecovery1.FindControl("LoginProvider"),DropDownList)
PasswordRecovery1.MembershipProvider = provider.SelectedValue
If PasswordRecovery1.MembershipProvider <> "Default" Then
PasswordRecovery1.UserName = String.Format("{1}\\{0}", _
PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName)
End If
End Sub
Sub PasswordRecovery1_VerifyingAnswer(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.LoginCancelEventArgs)
PasswordRecovery1.UserName = String.Format("{1}\\{0}", _
PasswordRecovery1.MembershipProvider, PasswordRecovery1.UserName)
End Sub
</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>
Remarks
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.