おそらく、最初のオプションである 4 を含む ViewModel を使用する必要がありますPlaceViewModel
。オブジェクトとそのプロパティを操作する柔軟性を提供し、必要に応じて表示します。また、長期的にはビューのメンテナンスも改善されます。
@model PlacesViewModel
@foreach (var place in Model.Places)
{
// Render your HTML column here
}
HTML 文字列のセットを渡すと (2 番目のオプションで述べたように)、オブジェクトを有効な方法で変更、検査、解析、反復、または操作することができなくなります。jQuery など、ある種のクライアント側フレームワークを使用して文字列を操作する必要があります。
ただし、一連の を単純に反復したい場合はPlaceViewModel
、それらのリストを渡すことを考えて、次のView
ようにします。
@model List<PlaceViewModel>
@foreach (var place in Model)
{
// Render your HTML column here
}
これにより、追加のクラスを作成する必要がなくなります。
モデルを名前 (またはその他のプロパティ) のアルファベット順に並べ替えるには、次のようにします。
@foreach (var place in Model.Places.OrderBy(place => place.Name))
{
// Render your HTML column here
}