我正在努力在评级后显示一定数量的评论,我写的代码有效,但我意识到它最终显示每个评论的命令,所以如果有两个评论我看到" 1评论1 。回顾"我已经研究了一段时间了,对MVC,C#等仍然有点新,并且似乎无法弄清楚如何将其更改为将计算ReviewCount并将其显示为单个的for循环一行或多行"评论"表示。我尝试将其传播出来,但随后无法调用本地变量,而且我被卡住了!
@foreach (var review in item.Campaign.Reviews)
{
int ReviewCount = 0;
++ReviewCount;
if (ReviewCount > 1)
{
@Html.Raw(ReviewCount)
@Html.Raw(" Reviews")
}
else
{
@Html.Raw(ReviewCount)
@Html.Raw(" Review")
}
}
答案 0 :(得分:2)
如果您只想计算评论,只需使用LINQ Count()
方法:
@{ int ReviewCount = item.Campaign.Reviews.Count(); }
@Html.Raw(ReviewCount)
@if (ReviewCount != 1) {
@Html.Raw(" Reviews")
}
else {
@Html.Raw(" Review")
}
另外,请DRY。