web-dev-qa-db-ja.com

Asp MVCセクションと部分ビュー

ASPセクションと部分ビューについて質問があります。

どちらを使用するメリットは何ですか?

メニューがあれば、セクションとしてだけでなく、部分的なビューとしても利用できることをゲストに感謝します。

違いは何ですか?

4
user1741807

partial viewは、複数の場所で使用されている、または別のファイルに分割されている(たとえば、読みやすくするため)いくつかのビューコンポーネント(オプションで独自のモデル)がある場合に使用されます。 。

セクションはマスターページに配置され、個々のビューがそれらの領域にデータを入力できるようにします-それらは必須またはオプションです。 2つを比較すると、目的と目的が異なるため、実際には賛否両論はありません。

メニューの例として、(コレクションから)メニューを構築するマークアップがあり、それを多くの場所で使用したい場合は、部分ビューが最適なオプションになります。

ページ上に単一のメニューがあり、その内容がページに基づいて変化する場合は、セクションを使用して、ビューにメニューを設定するよう要求できます(パーシャルを使用してそのメニューセクションに設定することもできます)。

6
Andy Hunt

部分ビューはモデルバインディングでうまく機能します。提供されたモデルに「バインド」するように、部分ビューを「タイプバインド」できます。

@Html.Partial("_NavigationMenu", Model.Navigation)

セクションは基本的に「プレースホルダー」または「リテラル」に似ており、「親」で定義された適切な場所のリージョン内に配置されたコードを出力します。

@section JavaScript{
    //some code to be included on the "parent" view 
}

一般に、さまざまなアドホックスクリプト要件またはCSSのセクションと、フォーマット(拡張機能も使用できます)/メニュー/ナビゲーションなどのDOM要素の部分ビューを使用します。古い「.ascx」コントロールと同じ考え方です。 。

また:

部分ビューはセクションの宣言を(設計上)尊重しないため、使用できません。

2
hanzolo