質問はタイトルそのものです。私はMVCを初めて使用し、現在は自己学習を行っています。MVCの初心者にとって明らかな答えを教えてください。ありがとう。
1 に答える
部分ビューは、他のビューで再利用できる別のファイルに保持できる Html の「断片」にすぎません。ASP.NET WebForms の UserControls のようなものです。
厳密に型指定されたビューとは、コントローラーが渡す ViewModel が関連付けられており、その View 内のすべての要素がそれらの ViewModel プロパティを使用できることを意味します。
厳密に型指定されたパーシャルも使用できます。つまり、Html の一部には特定のデータが必要なので、特定の ViewModel に入力します。
厳密に型指定されたビューの例を次に示します
@model SomeViewModel
...// all the html comes after
強く型付けされていないビューには@model SomeViewModel
行がありません
ViewModel なしで通常のビューをレンダリングするコントローラー アクションの例を次に示します。
public ActionResult Index() {
return View();
}
これは、強く型付けされたビューをレンダリングするものです
public ActionResult Index() {
var model = new SomeViewModel();
return View(model);
}
@model SomeViewModel
ビューは、ファイルの先頭に を配置することで、その ViewModel を利用します。
ビューに ViewModel が追加されたので、ViewModel にバインドされている要素を次のように表示できます。
@Html.TextBoxFor(m => m.FirstName)
@Html.CheckBoxFor(m => m.IsAwesome)
したがって、これらのフィールドに入力されたデータはすべて ViewModel にバインドされます。ユーザーが送信ボタンをクリックすると、入力された値がサーバーに送り返されます。
前に述べたように、部分ビューは再利用可能な Html の一部です。その同じビューで、パーシャルを追加できます。フッターのように、サイト全体で再利用したい標準ビットの Html を含む部分ビューがあるとします。
.cshtml ファイルを作成し、これをその中に入れることができます
<div> footer text here</div>
そして、それを任意のビューに含めます。強く型付けされているかどうかは関係ありません。再利用可能な Html です。
@model SomeViewModel
@Html.TextBoxFor(m => m.FirstName)
@Html.CheckBoxFor(m => m.IsAwesome)
{@Html.RenderPartial("MyFooter")}