ASP.NET自定义验证程序错误消息:无法验证属性引用的控件

AGu*_*ald 16 asp.net customvalidator

我使用ASP.NET并有一个Button和一个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="">
Run Code Online (Sandbox Code Playgroud)

加载页面时,收到错误消息:

"无法验证由'saveCValidator'的ControlToValidate属性引用的控件'saveButton'."

可能是什么问题?我在网上搜索,但这没有多大帮助.

Ale*_*lex 28

AFAIK,ControlToValidate属性应指向输入控件或留空以用于 CustomValidator控件.

来自MSDN的参考:

使用该ControlToValidate属性指定要验证的输入控件.必须将此属性设置为除控件之外的所有验证控件的输入控件的ID,该控件CustomValidator 可以留空.如果未指定有效的输入控件,则在呈现页面时将引发异常.ID必须引用与验证控件在同一容器中的控件.它必须位于同一页面或用户控件中,或者必须位于模板化控件的同一模板中.

可以验证的标准控件是:

  • 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


CAb*_*ott 15

您只能对接受用户输入的输入控件使用CustomValidator:

客户端验证通过在将用户输入发送到服务器之前检查来增强验证过程.

你想要做的是看看Button Controls和Validation.