Я работаю с устаревшим проектом на С# (.NET 2.0). В этом проекте есть две группы проверки. Один для пользовательского управления входом в систему, а другой для отправки пользователями в информационный бюллетень. Проблема, с которой я столкнулся, заключается в том, что когда пользователь отправляет подписку на информационный бюллетень, в методе page_prerender() запускается некоторый пользовательский код, который должен запускаться только тогда, когда пользователь пытается войти в систему.
Я искал решение, позволяющее распознать, какая из двух групп используется при обратной передаче, чтобы я мог игнорировать пользовательский код, когда это необходимо. Моя идея состояла в том, чтобы попытаться проверить, какая из двух групп проверки используется для проверки. К сожалению, проведя несколько бесплодных часов в Google, я не смог найти ничего, что могло бы сообщить мне, как на самом деле узнать, какая группа проверки используется при проверке. Есть ли способ узнать?
<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"
/>
Следующий код должен срабатывать только при нажатии кнопки входа в систему, и это необходимо сделать в 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);
}