ASP.NET Custom Validator Сообщение об ошибке: не удалось проверить элемент управления, на который ссылается свойство - PullRequest
16 голосов
/ 14 апреля 2010

Я использую ASP.NET и имею кнопку и CustomValidator, который должен проверить кнопка.

<asp:Button ID="saveButton" runat="server" OnClick="SaveButton_Click" Text="Speichern"
    CausesValidation="true"/>
<asp:CustomValidator runat="server" ID="saveCValidator" Display="Static"
    OnServerValidate="EditPriceCValidator_ServerValidate"   
    ControlToValidate="saveButton" ErrorMessage="">

При загрузке страницы я получаю сообщение об ошибке:

"Control 'saveButton', на который ссылается свойство ControlToValidate 'saveCValidator' не может быть проверен. "

В чем может быть проблема? Я искал в сети, но это не сильно помогло.

Ответы [ 2 ]

28 голосов
/ 14 апреля 2010

AFAIK, свойство ControlToValidate должно указывать на элемент управления вводом или оставляться пустым для элемента управления CustomValidator.

Ссылка от MSDN :

Используйте свойство ControlToValidate для укажите элемент управления вводом для проверки. Это свойство должно быть установлено в ID входной контроль для всей проверки элементы управления, кроме CustomValidator контроль, который можно оставить пустым. Если вы не указали правильный ввод контроль, будет выдано исключение когда страница отображается. Идентификатор должен обратитесь к элементу управления в том же Контейнер как контроль проверки. Это должно быть на той же странице или пользователя контроль, или он должен быть в том же шаблон шаблонного элемента управления.

Стандартные элементы управления, которые могут быть подтверждено:

  • System.Web.UI.WebControls.DropDownList
  • System.Web.UI.WebControls.FileUpload
  • System.Web.UI.WebControls.ListBox
  • System.Web.UI.WebControls.RadioButtonList
  • System.Web.UI.WebControls.TextBox
  • System.Web.UI.HtmlControls.HtmlInputFile
  • System.Web.UI.HtmlControls.HtmlInputPassword
  • System.Web.UI.HtmlControls.HtmlInputText
  • System.Web.UI.HtmlControls.HtmlSelect
  • System.Web.UI.HtmlControls.HtmlTextArea
13 голосов
/ 14 апреля 2010

Вы можете использовать только CustomValidator против элементов управления вводом, которые принимают пользовательский ввод :

Проверка на стороне клиента улучшает процесс проверки путем проверки пользователя ввод перед отправкой на сервер.

Что вы хотите сделать, так это посмотреть на Кнопки управления и проверки.

...