Я работаю над отображением количества отзывов после оценки, код, который я написал, работает, но я понял, что в конечном итоге он отображает команду для каждого обзора, поэтому, если есть два обзора, я вижу «1 отзыв, 1 отзыв». Я работал над этим некоторое время, и я все еще немного новичок в MVC, C# и т.д., и, похоже, не могу понять, как изменить это на цикл for, который будет считать ReviewCount и отображать его как одну строку с Указан 1 или несколько "обзоров". Я попытался распространить это, но тогда локальная переменная не может быть вызвана, и вот где я застрял!
@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")
}
}
Кроме того, вы выводите свой ReviewCount один раз за обзор во время подсчета, что тоже не имеет смысла. Если вы хотите подсчитать Reviews, просто используйте item.Campaign.Reviews.Count().





Если вы просто хотите подсчитать отзывы, просто используйте метод LINQ Count():
@{ int ReviewCount = item.Campaign.Reviews.Count(); }
@Html.Raw(ReviewCount)
@if (ReviewCount != 1) {
@Html.Raw(" Reviews")
}
else {
@Html.Raw(" Review")
}
Кроме того, будь СУХОЙ.
Спасибо! Я рад, что вы смогли понять то, что я пытался сделать. Я все еще изучаю эти команды, так что это очень важно! Это сработало именно так, как нужно.
Ваш код не имеет смысла. Вы хоть понимаете, что он делает?