2011-08-02 4 views
0

私はこの1つで私の知恵の終わりです。私のMVCアプリケーションでは、ModelState.IsValidがfalseの場合、単純なビュー、レイアウト、コントローラロジック(モデルと同じビューを返す)があります。フォームが邪魔にならないjsロジックを渡すため実際にフォームを送信すると、強い>タグが見かけ上htmlの任意のチャンクを囲んで表示されます。asp.net MVC Form Post with w/Errorsコンテンツを囲む強いタグを含むビューをレンダリングします

私はこの強力なタグを追いかけており、私のビュー、レイアウト、または拡張コードの中でそれを参照することはできません。私はサードパーティ製のライブラリを使用していない、これはすべて家庭で育った(MVC.NETの部分を除く)。

これはあまり進んでいないことに気がついていますが、これは既知の動作であるかどうかを調べるために、私はただ愚かであるか、MVCにレンダリングさせるように<強い> HTMLの塊の周りのタグ。実例として

これは私が見ているものです:

マイソースレイアウトコードが

<div id="main"> 

     <h2>@ViewBag.PageTitle</h2> 
     @Html.Partial("notices") 
     <div class="ajax-notice"></div> 
     @RenderBody() 
</div> 

ポストがエラーに提出し、返された後、レンダリングされたソースが

<div id="main"> 

    <h2>Page Title</h2> 
    <div class="error"> 
     <strong> 
      Oops! An error! 
     </strong> 
    </div> 
    <strong> 
     <div class="ajax-notice"></div> 
    </strong> 
    @RenderBody() 
</div> 
のように見えるようになります。

強い>タグは、エラー分類divとajax-notice分類divを囲んでいますがソースコードにありません。

予告のような部分的なルックス:

<div class="error">@Html.ValidationSummary</div> 

は最後に、私は単純なようにコントローラロジックと同じビューに戻っています:ここで

public ActionResult Create(User model){ 
    if(!ModelState.IsValid){ 
     return(View ("new", model)); 
    } 
} 
+0

あなたの「通知」の部分の外観は何ですか? –

+0

質問に「お知らせ」を追加しました。ありがとう! –

答えて

0

をしようとするいくつかのことです@html .ValidationSummaryは、すべてのエラーを含むulタグを使用してdivを作成します。

出力は、デフォルトでは次のようになります。

<div class="validation-summary-errors"> 
    <ul> 
      <li>Username is invalid</li> 
    </ul> 
</div> 

私が最初partialviewのうち、@ Html.ValidationSummaryを取って試してみて、ちょうど通常のビューでそれをレンダリングします。クラスとしてエラーだけでなく、validation-summary-errorsを使用するようにCSSを変更します。

@ Html.ValidationSummarryを部分的なビューで使用するための正確な目的がわかりません。

関連する問題