C# 尝试对sql数据库使用foreach循环时出错
我正在使用MVC、ASP.NET重新创建网站。我创建了一个数据库,其中包含晚餐、日期和其他相关信息。在我的索引视图中,我试图使用foreach循环将所有晚餐列在屏幕上。我不断得到错误: “foreach语句无法对'Delay'类型的变量进行操作” 因为“晚餐”没有包含一个公共的定义 “GetEnumerator”C# 尝试对sql数据库使用foreach循环时出错,c#,sql-server,asp.net-mvc,nerddinner,C#,Sql Server,Asp.net Mvc,Nerddinner,我正在使用MVC、ASP.NET重新创建网站。我创建了一个数据库,其中包含晚餐、日期和其他相关信息。在我的索引视图中,我试图使用foreach循环将所有晚餐列在屏幕上。我不断得到错误: “foreach语句无法对'Delay'类型的变量进行操作” 因为“晚餐”没有包含一个公共的定义 “GetEnumerator” @foreach(模型中的var) { @晚餐,头衔 在…上 @dinner.EventDate.ToShortDateString() 在 @dinner.EventDate.T
@foreach(模型中的var)
{
-
@晚餐,头衔
在…上
@dinner.EventDate.ToShortDateString()
在
@dinner.EventDate.ToShortTimeString()
}
我对此相当陌生,不知道如何纠正这个问题,甚至不知道问题在哪里
这是我对这个项目的建议。很抱歉,如果问题模棱两可,我只是有点不知所措,不知道如何从这里开始。@foreach(Model.dinters中的var-dinner)
@foreach(var dinner in Model.dinners)
{
<li>
@dinner.Title
on
@dinner.EventDate.ToShortDateString()
at
@dinner.EventDate.ToShortDateString()
</li>
}
{
@晚餐,头衔
在…上
@dinner.EventDate.ToShortDateString()
在
@dinner.EventDate.ToShortDateString()
}
尝试此操作,您必须定义要循环的模型您的模型属于
@model NerdDinner.Models.Dinner类型
所以基本上你的模型不是一个列表。将您的模型更改为@model IEnumerable
或@model List
可以解决您的问题
编辑:将Index.cshtml更改为
@model List<NerdDinner.Models.Dinner>
@{
ViewBag.Title = "Index";
}
<h2>Upcoming Dinners</h2>
<ul>
@foreach(var dinner in Model)
{
<li>
@dinner.Title
on
@dinner.EventDate.ToShortDateString()
at
@dinner.EventDate.ToShortDateString()
</li>
}
</ul>
@型号列表
@{
ViewBag.Title=“Index”;
}
即将到来的晚餐
@foreach(模型中的var)
{
-
@晚餐,头衔
在…上
@dinner.EventDate.ToShortDateString()
在
@dinner.EventDate.ToShortDateString()
}
在您看来,模型需要是一个IEnumerable
类型:
@model IEnumerable<NerdDinner.Models.Dinners>
//你的代码在这里
}
希望这能有所帮助。你能发布相关的代码片段,让这里的人可以提供帮助吗?如果我只有一个项目可以显示我不会选择模型本身,只需通过该项目循环,但这非常有效是的,这是我尝试的第一件事,但不幸的是没有解决它。谢谢你的投入。好的,现在这就是我的天才要展示的地方。(讽刺)所以我想这是个问题,但我在哪里做这个改变呢?别担心,我们都在那里,在编程几年后,现在我仍然犯一些看起来相当简单的错误
@foreach (var item in Model) {
}