Пользовательский валидатор с нажатием кнопки главной страницы - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть пользовательский валидатор на странице контента

<asp:CustomValidator id="CustomValidator1" runat="server" 
   OnServerValidate="RevisionValidate" 
   ControlToValidate="TextBoxRevisionOrder" 
   ErrorMessage="Invalid RevOrder Format">
</asp:CustomValidator> 

, где RevisionValidate - это метод на стороне сервера

protected void RevisionValidate(object source, ServerValidateEventArgs args)
    {
               //Code goes here           
             if (CurrentRevisionOrder != "-1" && ChangedRevisionOrder == "-1")
                            {
                                val = "Not Valid";


                            }
                            else
                            {
                                val = "Valid";

                            }
                            args.IsValid = (val == "Valid");
                        }

Пользовательский валидатор прекрасно срабатывает при нажатии кнопки страницы контента, но проблема заключается в том, что яУ меня также есть кнопка на главной странице, которую должен запустить пользовательский валидатор. С моим текущим кодом на главной странице кнопка не срабатывает. click.any help?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2012

Нашел решение. Я должен был проверить

if(Page.IsValid)
{

}
0 голосов
/ 02 февраля 2012

Попробуйте использовать свойство ValidationGroup для кнопки на главной странице.

Страница содержания:

<asp:TextBox Id="TextBoxRevisionOrder" runat="server"/>
<asp:CustomValidator id="CustomValidator1" runat="server" 
   OnServerValidate="RevisionValidate" 
        ControlToValidate="TextBoxRevisionOrder" 
          ErrorMessage="Invalid RevOrder Format" ValidationGroup="Revision">
</asp:CustomValidator>

Мастер-страница:

<asp:Button Id="MasterButton" runat="server" ValidationGroup="Revision"> Click
</asp:Button>
...