タグ付けされた質問 「asp.net-mvc-partialview」

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つを比較するリスト/記事はどこかにありますか?

9
追加のViewDataを厳密に型指定された部分ビューに渡す
ProductImageを使用する強く型付けされたパーシャルビューがあり、それがレンダリングされるときに、それを含むページで動的に作成する追加のViewDataも提供したいと考えています。強く型付けされたオブジェクトとカスタムViewDataの両方をRenderPartial呼び出しで部分ビューに渡すにはどうすればよいですか? var index = 0; foreach (var image in Model.Images.OrderBy(p => p.Order)) { Html.RenderPartial("ProductImageForm", image); // < Pass 'index' to partial index++; }

6
ASP.NET MVCの部分ビューにパラメーターを渡す方法は?
私がこの部分的なビューを持っていると仮定します: Your name is <strong>@firstName @lastName</strong> これは、次のような子のみのアクションを通じてアクセスできます。 [ChildActionOnly] public ActionResult FullName(string firstName, string lastName) { } そして、私はこの部分的なビューを別のビューの中で使用したいと思います: @Html.RenderPartial("FullName") 言い換えれば、firstNameとlastNameをビューから部分ビューに渡すことができるようにしたいのです。どうすればよいですか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.