2011-10-01 2 views
5

私はMVC3かみそりビューについては、以下のビューモデルを持っている:モデル全体ではなくカスタムオブジェクトのHtml.Displayを呼び出す方法は?

public class UserProfileModel 
{ 
    public Person[] Persons { get; set; } 
    //some other fields 
} 

私のような私のかみそりビュー内のすべての者に表示する:

foreach (var person in Model.Persons) 
{ 
<div> 
    @* some custom formatting *@ 
    @Html.Display(person) 
</div> 
} 

@Html.Displayまたは@Html.DisplayForのために動作しないようですが私..

モデルとしてPersonを使用して別のストロングタイプのビューを作成し、@Html.DisplayForModelを呼び出しても構いませんが、別のv ?

答えて

15

の中にPerson.cshtmlという部分ビューファイルを作成します。強く型を入力してPersonクラスにします。

ビューの構造を実装します。あなたは(あなたのケースで)以下のようにそれを呼び出すとき

次に、あなたが期待したものでしょう:

foreach (var person in Model.Persons) 
{ 
<div> 
    @* some custom formatting *@ 
    @Html.DisplayFor(m => person) 
</div> 
} 
+2

おかげでたくさん!ところで、私はカスタムテンプレートは必要ありません。 '@Html.DisplayFor(m => person)'を 'm => m.Something'を使わずに使用することは考えていません:) – Shaddix

関連する問題