0
嗨,我有以下視圖模型:MVC剃刀格式回傳視圖模型使用GROUPBY
public class VehiclesViewModel
{
public IList<Vehicle> Vehicles{ get; set; }
}
車輛:
public class Vehicle
{
public Owner Owner { get; set; }
public Make Make { get; set; }
public string Status { get; set; }
}
現在的Razor視圖:
@model VehiclesViewModel
<table>
<thead>
<tr>
<th>Owner</th>
<th>Make</th>
<th>Model</th>
</tr>
</thead>
<tbody>
@for(int i=0; i<Model.Vehicles.Count; i++)
{
<tr>
<td>@Vehicle[i].Owner</td>
<td>@Vehicle[i].Make</td>
<td>@Html.EditorFor(x => x.Vehicles[i].Status)</td>
</tr>
}
</tbody>
</table>
所以現在我有一個觀點,我可以顯示和改變車輛的狀態,並將其發回給控制器沒有問題。
但是,我現在有一個新的要求,在由車主分組的頁面上顯示車輛。所以,我想出了:
@model VehiclesViewModel
<table>
<thead>
<tr>
<th>Make</th>
<th>Model</th>
</tr>
</thead>
<tbody>
@foreach(var vehicleGroup in @Model.Vehicles.GroupBy(x => x.Owner.Name))
{
<tr>
<td colspan="2">@vehicleGroup.First().Owner.Name</td>
</tr>
foreach(var vehicle in vehicleGroup)
{
<tr>
<td>@vehicle.Make.Name</td>
<td>Need to provide a way to edit the status here</td>
</tr>
}
}
</tbody>
</table>
的問題是,現在我有這樣的foreach的語法,而不是因爲我不知道怎麼寫和編輯狀態。
任何人都可以幫助我嗎?