きよくらの備忘録

「三日坊主と呼ばせない!日記」改め。主にソフトウェア開発関連の話題。

ValidatorCalloutで、バルーンを表示させない方法

ASP.NET AJAXのValidatorCalloutExtenderで、バルーン表示を消す(というより表示させない)方法のメモ。

方法:Animationsを使って非表示にしてしまう

ValidatorCalloutExtenderは子要素としてAnimationsを指定できるので、Animationsを使います。
具体的にはOnShowのときにいきなりHideActionを指定してやればそれでOKです。

<cc1:ValidatorCalloutExtender ID="vCE1" runat="server" 
     TargetControlID="targetValidator1" HighlightCssClass="InvalidHeightlightStyle">
  <Animations>
    <OnShow>
      <HideAction />
    </OnShow>
  </Animations>
</cc1:ValidatorCalloutExtender>

こんなことをしたい理由

こうすると何が嬉しいかというと、バルーン表示をさせずに対象のコントロールのCSS入れ替えの機能のみを利用することができるようになります。
例えば、『バリデータに引っかかったテキストボックスの背景色を変更、入力値が正常になったら元に戻す』という処理がノンコーディングで実装できます。
(上記の例では、targetValidator1がInvalidの際にInvalidHeightlightStyleクラスがtargetValidator1のControlToValidateで指定されたコントロールに適用される。)


余談。
業務アプリを作っていると、実際のところはバルーン表示よりもコントロールのStyle変更機能だけを使いたい局面が多い気がしませんか?(私だけ?)