PasswordRecovery.VerifyingAnswer 事件
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
用户已提交密码恢复确认问题的答案时发生。
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
事件类型
示例
下面的代码示例处理 VerifyingAnswer 事件并更改显示 UserName 的属性。
重要
此示例包含一个接受用户输入的文本框,这是一个潜在的安全威胁。 默认情况下,ASP.NET 网页验证用户输入是否不包含脚本或 HTML 元素。 有关详细信息,请参阅脚本侵入概述。
<%@ 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>
注解
该 VerifyingAnswer 事件在用户提交密码确认问题的答案后在服务器上发生。 可以使用此事件来准备用户为成员资格提供程序提交的答案,例如将其转换为全大写或小写字母。
控件 PasswordRecovery 首先引发 VerifyingAnswer 事件,然后使用 属性中指定的 MembershipProvider 成员资格提供程序将用户输入的答案与存储在网站中的密码进行比较。
有关处理事件的详细信息,请参阅 处理和引发事件。