3

質問はタイトルそのものです。私はMVCを初めて使用し、現在は自己学習を行っています。MVCの初心者にとって明らかな答えを教えてください。ありがとう。

4

1 に答える 1

9

部分ビューは、他のビューで再利用できる別のファイルに保持できる 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")}
于 2012-06-08T12:22:09.587 に答える