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変更機能だけを使いたい局面が多い気がしませんか?(私だけ?)