2017-08-01 295 views
0

的公共定義當我嘗試運行我得到這個錯誤的應用程序不斷,即錯誤:不包含的GetEnumerator

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

它的崩潰在SummaryTable.cshtml

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

以下是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?

+1

需要更多細節才能準確回答問題。 控制器是否返回List 或只是FloorPlanViewModel? 你想在視圖中迭代什麼? 假設FloorPlanViewModel是從控制器動作返回的,Guilherme的答案可以解決這個問題。 –

+0

@ChandraSekharV你是對的,但我認爲控制器返回'FloorPlanViewModel'是因爲錯誤:''FloorPlanViewModel'不包含'GetEnumerator'' – Guilherme

+0

的公共定義非常感謝。看起來像錯誤消失:) – beginner

回答

1
@foreach (var item in Model.sumConfig) 
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類型的。

相關問題