Я знаю, что это старая версия, но мне нужно было сделать что-то похожее, в основном принудительно задав свойство IsValid для false (не спрашивайте, почему). Вот что я сделал в основном (то, что вы видите здесь - мое подтверждение концепции):
Добавлено на страницу .aspx:
<asp:TextBox ID="txtDummy" runat="server" Visible="false" />
<asp:RangeValidator ID="rvDummy" ControlToValidate="txtDummy" runat="server" MinimumValue="1" MaximumValue="2" />
А потом я добавил это к коду:
bool makeMyPageInvalid = true;
if (makeMyPageInvalid)
txtDummy.Text = "0";
Page.Validate();
if (Page.IsValid)
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "test", "alert('valid');", true);
else
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "test", "alert('not valid');", true);
Вы можете видеть, что это только позволяет принудительно проверить правильность страницы. Вы можете использовать любой валидатор или причину, чтобы установить это. Надеюсь, это кому-нибудь поможет!