我目前工作的一個MVC項目,其中我期待顯示薄膜以及它們將被編程播放時間的列表。爲了實現這一目標,我對此有一個基本表(彙總):
+-------------+----------------+
| FilmID (int)| Time (datetime)|
+-------------+----------------+
| 1 | 01:00 |
| 1 | 03:00 |
| 2 | 02:30 |
+-------------+----------------+
此鏈接到「FilmStore」,其中基本上給出了與大綱/風格/等信息。
控制器
我已經設置了一個控制器,與所述自動生成的代碼:
public ActionResult Index()
{
var filmShowings = db.FilmShowings.Include(f => f.FilmStore);
return View(filmShowings.ToList());
}
查看
我已經改變了預設視圖
@foreach (var item in Model)
{
<span>@Html.DisplayFor(modelItem => item.FilmID)</span>
<div class="time slot">
@Html.DisplayFor(modelitem => item.Time).ToString().Substring(0, 5)
</div>
}
我想要什麼
我期待在視圖內通過filmID
。因此,filmID
將顯示在一個範圍內,並且每個具有該filmID的記錄都將顯示在一個div內。喜歡的東西:
1
01:00
03:00
2
02:30
我已經試過
我曾嘗試到groupby
子句添加到控制器:
.GroupBy(f => f.FilmID);
,並改變了我的看法到:
@foreach (var item in Model)
{
<span>@Html.DisplayFor(modelItem => item.FilmID)</span>
@foreach(var group in groupItem.FilmID){
<div class="time slot">
@Html.DisplayFor(myitem => group.Time).ToString().Substring(0, 5)
</div>
}
}
我推測一個嵌套for循環將允許我添加這個分組。但是,這不可避免地失敗了。任何人都可以將我指向正確的方向嗎?
'CS1579:foreach語句無法在類型「bwebsite.Content.Film」的變量操作,因爲「bwebsite.Content.Film」不包含「GetEnumerator''一個公共定義 - 我錯過了什麼克里斯? (指第三行,「組」) – jbutler483