2011-10-21 15 views
0

これまでにこのような質問はなかったようです。テンプレート化されたValidationSummaryコントロールはどこにありますか?だから私はそれにいくつかのHTMLを入れることができます:div、h2の内部と、リテラルをid="ValidationSummaryMessage"とすると、不要なリスト項目brを除いてテキストをレンダリングします。インターネットに無料のコンポーネントはありますか?バリデータを反復するために:-)たくさんテンプレート付き検証サマリーコントロール

答えて

0

一つの方法は、(:-)でも、怠惰なもののために)だろう

おかげで私は自分自身のための1つを書くことができます知っているが、私はそれのためにあまりにも怠惰ですバックエンドから独自のHTMLメッセージを作成してください。

StringBuilder myCustomHtml = new StringBuilder(); 
foreach (Control validator in this.Page.Validators) 
{ 
    IValidator currentValidator = validator as IValidator; 
    if (currentValidator != null && !currentValidator.IsValid) 
    { 
     myCustomHtml.AppendFormat("Bla Foo is missing"); 
    } 
} 

またはこれと同じように(テストされていません)。 Page.Validatorsの制御順序は、設計時のコントロールツリーの構成によって決まることに注意してください。欠点は、これが機能するためにポストバックが必要であることです。

もう1つの方法は、jqueryでイベントをキャプチャし、そこにカスタムタグとテキストを追加することです。

しかし、SOを検索すると、この解決策が見つかりました:inherit from asp:validationsummary

+0

ありがとうございます。興味深いアプローチの1つは、リスト内のすべてのエラーメッセージを収集し、テンプレート化されたリストビューコントロールにバインドすることです。今私はListViewから継承し、HttpContext.Current.Validatorsからエラーメッセージを取得することを考えています。それでも、答えに感謝します。 – idm

関連する問題