PasswordRecovery.VerifyingAnswer Event
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.
Occurs when the user has submitted an answer to the password recovery confirmation question.
public:
event System::Web::UI::WebControls::LoginCancelEventHandler ^ VerifyingAnswer;
public event System.Web.UI.WebControls.LoginCancelEventHandler VerifyingAnswer;
member this.VerifyingAnswer : System.Web.UI.WebControls.LoginCancelEventHandler
Public Custom Event VerifyingAnswer As LoginCancelEventHandler
Event Type
Examples
The following code example handles the VerifyingAnswer event and changes the displayed UserName property.
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 VerifyingAnswer event occurs on the server after the user submits the answer to the password confirmation question. You can use this event to prepare the answer submitted by the user for the membership provider, for example by converting it to all uppercase or lowercase letters.
The PasswordRecovery control first raises the VerifyingAnswer event, and then uses the membership provider specified in the MembershipProvider property to compare the answer entered by the user with the password stored in the Web site.
For more information about handling events, see Handling and Raising Events.