我正在使用 ASP.NET Membership 提供程序并使用密码恢复控件在用户忘记密码时重置用户密码。总的来说,一切都很好,但在验证方面有一个问题。
我已经扩展了 PasswordRecovery 控件以使用模板功能来自定义外观,这一切都很好。我使用以下方法设置了用户查找错误处理程序:
OnUserLookupError="PasswordRecovery1_UserLookupError"
在开始标记中,如果我加载页面,请输入一些垃圾名称并单击提交,这会在所有浏览器中按预期触发。VB 代码片段使错误 div 可见并设置了一些文本。
但是,如果在第一次加载页面时,我在用户名框中输入了一个 duff 名称并按 Enter 键提交表单,则在 Internet Explorer(版本 8)中,该UserLookupError
事件无法触发。它在 Chrome 或 Firefox 中触发得很好,只是在 IE 中没有。我知道这不是表单的焦点问题,因为我可以看到表单正在提交。
如果我先单击提交按钮,然后按回车键,它确实会触发,这只是第一次没有,并且仅在 IE 中。
还要补充一点,如果我在 VB 代码中设置断点以检查页面是否正在提交,我可以在Page_Load
按 enter 键时看到事件触发,但看不到 sub PasswordRecovery1_UserLookupError
。
有没有其他人看过这个?它看起来像 IE 中的一个错误(不是真的???),但我需要确定它。
欢迎任何帮助。