5
ASP.NET MVC 3-部分テンプレートvs表示テンプレートvsエディターテンプレート
そのため、タイトルはそれ自体が物語っています。 ASP.NET MVCで再利用可能なコンポーネントを作成するには、3つのオプションがあります(私が言及しなかった他のオプションも考えられます)。 部分図: @Html.Partial(Model.Foo, "SomePartial") カスタムエディターテンプレート: @Html.EditorFor(model => model.Foo) カスタム表示テンプレート: @Html.DisplayFor(model => model.Foo) 実際のビュー/ HTMLに関しては、3つの実装はすべて同じです。 @model WebApplications.Models.FooObject <!-- Bunch of HTML --> それで、私の質問は-いつ/どのようにして3つの中のどれを使うかを決めるのですか? 私が本当に探しているのは、作成する前に自問する質問のリストです。その回答を使用して、使用するテンプレートを決定できます。 ここに、EditorFor / DisplayForで私が見つけた2つの点があります。 HTMLヘルパーをレンダリングするときにモデル階層を尊重します(たとえば、「Foo」モデルに「Bar」オブジェクトがある場合、「Bar」のHTML要素は「Foo.Bar.ElementName」でレンダリングされますが、パーシャルは「 ElementName」)。 たとえばList<T>、ViewModelに何かがある場合は、を使用できます。MVCは、それが@Html.DisplayFor(model => model.CollectionOfFoo)コレクションであることを確認し、各項目の単一の表示をレンダリングするのに十分スマートです(Partialは、明示的なループ)。 DisplayForが「読み取り専用」テンプレートをレンダリングすることも聞いたことがありますが、理解できません-フォームをそこにスローできませんでしたか? 誰か他の理由を教えてもらえますか?3つを比較するリスト/記事はどこかにありますか?