我正在使用 C# (.NET 2.0) 中的旧项目。在这个项目中有两个验证组。一种用于自定义登录控制,另一种用于用户提交到时事通讯。我遇到的问题是,当用户提交订阅时事通讯时,一些自定义代码会在 page_prerender() 方法中触发,只有在用户尝试登录时才会触发。
我一直在寻找一种解决方案来识别回发时使用了两个组中的哪一个,这样我就可以在需要时忽略自定义代码。我的想法是尝试检查两个验证组中的哪一个被用于验证。不幸的是,在谷歌上花了几个小时徒劳无功之后,我找不到任何东西让我知道如何在验证时真正知道使用了哪个验证组。有什么办法可以查到吗?
<asp:Button ID="btn_newsletter"
runat="server"
Text="Verzend"
ValidationGroup="newsLetter"
meta:resourcekey="bnt_newsletter"
OnClick="handleNewsLetter"
CssClass="roundedButtonBig"
/>
<asp:Button ID="LoginButton"
runat="server"
CommandName="Login"
Text="Inloggen"
ValidationGroup="lgnUser"
meta:resourcekey="LoginButtonResource1"
CssClass="roundedButtonBig"
/>
以下代码仅应在按下 LoginButton 时触发,并且需要在 Pre_render() 上完成。或者传递正确的 ValidationGroup (现在传递 null )。
protected void Page_PreRender(object sender, EventArgs e)
{
//Register custom ValdiationErrorService added errors to JavaScript so they can be added into the popup.
ValidationErrorService.RegisterServerValidationMessageScript(Page, null);
}