1

カスタムバリデータを含む、テキストボックスとその他のロジック/コントロールを含むカスタムユーザーコントロールがあります。カスタム コントロールを aspx ページにドロップするときに、HTML で OnServerValidate プロパティの値を指定することにより、コントロール内のカスタマー バリデータにメソッドをアタッチできるようにしたいと考えています。

これはどのように行うことができますか?コードビハインドを介してカスタムバリデーターのイベントにアタッチするのではなく、検証メソッド名をユーザーコントロールの html のプロパティとして渡すことができるようにしたいと考えています。

4

1 に答える 1

1

カスタム バリデーターのイベントを独自のイベントにラップServerValidateし、それをハンドラー割り当てのマークアップで使用できます。あなたがコントロールするために必要なのは、イベントの適切な宣言だけです:

public event ServerValidateEventHandler ServerValidate
{
    add { this.CustomValidator1.ServerValidate += value; }
    remove { this.CustomValidator1.ServerValidate -= value; }
}

これで、マークアップでこのイベントにサインアップできるようになり、同時にカスタム バリデーターのイベントにも効果的にサインアップできます。

<yourTagPrefix:YourControlName
               OnServerValidate="YourControlName_ServerValidate"
               runat="server"
               ... />
于 2013-02-22T11:07:42.773 に答える