【问题标题】:Does not contain a public definition for 'GetEnumerator' in MVC不包含 MVC 中“GetEnumerator”的公共定义
【发布时间】:2014-04-24 09:00:33
【问题描述】:

我试图在 2 天内解决这个问题。

错误是

编译器错误消息:CS1579:foreach 语句无法操作 类型变量 'mvc_ado.net_crud.Models.BusinessObject.ContactPerson' 因为 'mvc_ado.net_crud.Models.BusinessObject.ContactPerson' 没有 包含“GetEnumerator”的公共定义

我的控制器

    public ActionResult List()
    {
        var model = ContactPersonManager.GetList();
        return View(model);
    }

在我的模型中

 public static ContactPersonList GetList()
    {
        ContactPersonList tempList = null;
        using (var myConnection = new SqlConnection(AppConfiguration.ConnectionString))
        {
            var myCommand = new SqlCommand("uspContactPersonSelectList", myConnection) { CommandType = CommandType.StoredProcedure };
            myConnection.Open();
            using (var myReader = myCommand.ExecuteReader())
            {
                if (myReader.HasRows)
                {
                    tempList = new ContactPersonList();
                    while (myReader.Read())
                    {
                        tempList.Add(FillDataRecord(myReader));
                    }
                }
                myReader.Close();
            }
        }
        return tempList;
    }

我的看法

    @foreach (var person in Model)
    {
        <ul>
            <li>
                @person.ID;
            </li>
        </ul>
    }

我错过了还是做错了什么?

【问题讨论】:

    标签: asp.net asp.net-mvc razor


    【解决方案1】:

    代替

    @model mvc_ado.net_crud.Models.BusinessObject.ContactPerson
    

    有

    @model IEnumerable<mvc_ado.net_crud.Models.BusinessObject.ContactPerson>
    

    在你看来。

    这假定您的 ContactPersonList 实现了 IEnumerable&lt;ContactPerson&gt;。如果没有,那你可以试试

    @model ContactPersonList
    

    但不清楚自定义类型 ContactPersonList 到底是什么。

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 1970-01-01
      • 2014-07-10
      • 1970-01-01
      • 1970-01-01
      • 2020-08-06
      • 1970-01-01
      • 2013-02-16
      • 2021-10-18
      相关资源
      最近更新 更多