错误:不包含GetEnumerator的公共定义

时间:2017-08-01 01:36:20

标签: c# html enumerator

当我试图运行应用程序时,我不断收到此错误,即

"CS1579: foreach statement cannot operate on variables of type 'Models.FloorPlanViewModel' because 'Models.FloorPlanViewModel' does not contain a public definition for 'GetEnumerator'"

它在SummaryTable.cshtml

的foreach崩溃
Line 34:             </tr>
Line 35: 
Line 36:             @foreach (var item in Model)
Line 37:             {
Line 38:                 <tr>

以下是FloorPlanViewModel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using USTGlobal.WorkBench.Repository;

namespace UI.Models
{
    public class FloorPlanViewModel
    {

        public IEnumerable<SummaryConfiguration> sumConfig { get; set; }



    }

}

任何帮助PLZ?

2 个答案:

答案 0 :(得分:1)

@foreach (var item in Model.sumConfig)

答案 1 :(得分:0)

只是添加更详细的解释。

什么时候可以使用foreach?
foreach语句用于迭代实现System.Collections.IEnumerable或System.Collections.Generic.IEnumerable接口的对象集合。
foreach, in (C# Reference)

为什么您的代码不起作用?

@foreach (var item in Model)    

您想要遍历模型,但它不会实现IEnumerable。

为什么接受的答案的代码有效?

@foreach (var item in Model.sumConfig)

因为 Model.sumConfig 的类型为IEnumerable