错误:foreach语句不能操作变量
本文关键字:操作 变量 不能 语句 foreach 错误 | 更新日期: 2023-09-27 18:17:46
我很难弄清楚如何解决这个错误信息:
错误CS1579 foreach语句不能操作类型为'A1.Models的变量。评论"因为"a1 .模型。"Reviews"不包含"GetEnumerator"的公共定义A1..NETCoreApp,Version=v1.0
@foreach (var item in Model)
{
<content>
<header>
<hr id="ReviewsSide" />
<h6><b>@ @Html.DisplayFor(ModelItem => item.Heading)</b></h6>
</header>
<p>
Rating;
@{
int numStars = 0;
if (item.Rating == 5)
{
numStars = 5;
}
else if (item.Rating == 4)
{
numStars = 4;
}
else if (item.Rating == 3)
{
numStars = 3;
}
else if (item.Rating == 2)
{
numStars = 2;
}
else
{
numStars = 1;
}
for (int i = 0; i < numStars; i++)
{
<span style="color: #f8bd08; ">★</span>
}
for (int i = 0; i < 5 - numStars; i++)
{
<span>☆</span>
}
}
</p>
}
任何想法?
我已经添加了以下代码到我的cshtml页面的顶部,但仍然是相同的错误信息:
IEnumerable<A1.Models.Reviews>
@model Reviews
谢谢
你需要替换
IEnumerable<A1.Models.Reviews>
@model Reviews
@model IEnumerable<A1.Models.Reviews>
为了将一系列评论传递给你的Razor视图,并能够迭代它。
显示的错误意味着传递的类型不是一个序列,尽管你不能迭代它。
话是这么说,你还需要确保你正在传递一个序列从你的控制器到你的视图,这样这3部分工作没有任何问题。
Is Reviews是你写的一个类或者一个属性(我想它是一个类)
如果我的猜测是正确的,我认为你的评论类应该公开一个类型为IEnumerable
如果Reviews是一个属性,那么你应该确认它是IEnumerable类型。
希望对大家有所帮助