16

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="">

ページをロードすると、次のエラーメッセージが表示されます。

「saveCValidator」のControlToValidateプロパティによって参照される「Control」「saveButton」は検証できません。」

何が問題なのでしょう?ネットで検索しましたが、あまり役に立ちませんでした。

4

2 に答える 2

28

私の知る限り、ControlToValidateプロパティは入力コントロールを指すか、コントロールを空白のままにする必要があります CustomValidator

MSDNからの参照:

プロパティを使用して、ControlToValidate検証する入力コントロールを指定します。CustomValidator このプロパティは、空白のままにできるコントロールを除くすべての検証コントロールの入力コントロールの ID に設定する必要があります。有効な入力コントロールを指定しないと、ページのレンダリング時に例外がスローされます。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

ユーザー入力を受け入れる入力コントロールに対してのみ CustomValidator を使用できます。

クライアント側の検証は、サーバーに送信される前にユーザー入力をチェックすることにより、検証プロセスを強化します。

あなたがしたいことは、ここのボタンコントロールと検証を見てください。

于 2010-04-14T13:44:33.013 に答える