16

我使用 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="">

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

“'saveCValidator' 的 ControlToValidate 属性引用的控件 'saveButton' 无法验证。”

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

4

2 回答 2

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
于 2010-04-14T13:44:48.660 回答
16

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

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

您想要做的是查看按钮控件和验证。

于 2010-04-14T13:44:33.013 回答