宣言されたモデルタイプを再利用するにはどうすればよいですか?ビューの上部には、あなたは本当に、私が何をしたいのか宣言ビューのビューからモデルタイプを再利用するにはどうすればよいですか?
@model mySpace.viewModels.viewModel
はすでに強く型付けされたビューを持っている場合は
@for(viewModel vM in ViewBag.viewModels)
{
//some foo bar
}
宣言されたモデルタイプを再利用するにはどうすればよいですか?ビューの上部には、あなたは本当に、私が何をしたいのか宣言ビューのビューからモデルタイプを再利用するにはどうすればよいですか?
@model mySpace.viewModels.viewModel
はすでに強く型付けされたビューを持っている場合は
@for(viewModel vM in ViewBag.viewModels)
{
//some foo bar
}
ような何かを、ページの後半であるが存在しますViewBag/ViewDataについて考えるべきではありません。
@foreach (viewModel vm in Model.SomeSubModels)
{
//some foo bar
}
またはより良い、あなたの意見で恐ろしいforeach
ループを避けるために:あなたは強くビューモデルにビューを入力したら、あなたがこのビューにしなければならないすべては、そうのように、このビューモデルのプロパティを使用しています(あなたには、いくつかのプロパティを編集する必要がある場合)、エディタのテンプレートを使用して使用することができます
@Html.EditorFor(x => x.SomeSubModels)
または表示テンプレート(あなただけのユーザーにあなたのビューモデルのプロパティの値を表示する場合)を使用して:
を@Html.DisplayFor(x => x.SomeSubModels)
だからここのは(そのために)ASP.NET MVCアプリケーションを設計する際に従うべき基本的なルールのカップルです:
ルール番号1.は本当の基本であり、最も重要なものです。このルールを尊重しないと、実際にASP.NET MVCを正しく実行していません。
私はアイテムをリストし、アイテム作成を可能にするビューを持っています。ユーザーがアイテムを作成したいときに、リスト全体をポストバックしたくないのです。この場合、厳密に型指定されたビューモデルを使用しないことを選択しました。なぜなら、リスト全体を再ポストする必要がないからです1つのアイテムを追加します。 –
@ TravisJ、ASP.NET MVCで厳密に型指定されたビューモデルを使用しないようにするシナリオはまったくなく、ViewBag/ViewCrapをオプトインする必要があります。ビューモデルは、行く方法です。彼らはあなたが持っているすべての問題を解決します。プロジェクトに新しいクラスを追加することを恐れないでください。 –
'[httppost]'で装飾されたコントローラがviewmodelを受け入れ、viewmodelがフルリストでビューに渡された場合、そのリストも投稿されませんか? –