C# 尝试对sql数据库使用foreach循环时出错

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

我正在使用MVC、ASP.NET重新创建网站。我创建了一个数据库,其中包含晚餐、日期和其他相关信息。在我的索引视图中,我试图使用foreach循环将所有晚餐列在屏幕上。我不断得到错误:

“foreach语句无法对'Delay'类型的变量进行操作” 因为“晚餐”没有包含一个公共的定义 “GetEnumerator”

    @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) {
    
    }