私はこの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));
}
}
あなたの「通知」の部分の外観は何ですか? –
質問に「お知らせ」を追加しました。ありがとう! –