2012-01-09 12 views
0

私は、グループに属する多数のアイテムを持っています。アイテムを表示すると、ページ上のトップボックスコンポーネントに属するグループに関する情報が表示されます。これらのアイテムには、いくつかのビューがあり(シンプル・ディテール、詳細など)、このトップ・コンポーネントが各ビューに表示されます。パーシャルビューの実装

  1. アイテム情報
  2. トップコンポーネントを移入するための情報が含まれていGroupViewModelだけでなく、リストを作成してItemViewModelを作成します。私はこれを実装するために考えることができます

    唯一の方法は、以下のとおりです。 ItemViewModelsの

  3. トップグループコンポーネントの部分ビューを作成します。
  4. 各アイテムビューページにGroupViewModelを渡します。

GroupViewModelがすべてのItemビューに渡される "uber" ViewModelになるため、このアプローチが本当に気に入らないです。私はItemViewModelsだけをアイテムビューに渡すのが好きですが、次にアイテムビューがこのトップコンポーネントを含むためのきれいな方法は何ですか?

(サイド質問:URL構造は、 "/グループ/ 12 /商品/ 43" と設定することが可能です??)

答えて

2

私はあなたのViewModelは

public class SomeViewModel 
{ 
    public Group Group { get; set; } 
    public List<Item> Items { get; set; } 
} 

あなたのような何かをすべきだと思います表示は次のようになります:

<!-- top section start --> 
@Html.Partial("Details", Model.Group) 
<!-- top section end --> 

@foreach (Item item in Items) 
{ 
    @Html.DisplayFor(item) 
} 
関連する問題