2013-08-21 63 views
1

我想在C#MVC4項目中與WebGrid交手。下面的代碼給出了這樣的錯誤...在C#中瞭解WebGrid#

編譯器錯誤信息:CS1502:爲 「System.Web.Helpers.WebGrid.WebGrid(System.Collections.Generic.IEnumerable, 系統的最佳重載的方法匹配。 Collections.Generic.IEnumerable,字符串,整數,布爾, 布爾,字符串,字符串,字符串,字符串,字符串,字符串,字符串)」有 一些無效參數

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 

    @{ 
     List<int> obj1 = new List<int>(){ 1, 2, 3, 4 }; 
     var obj1_i = (IEnumerable<int>)obj1;  
     var grid = new WebGrid(obj1_i); 
    } 

</head> 
<body> 
    <div> 
     @grid.GetHtml() 
    </div> 
</body> 
</html> 
+1

您是否嘗試過它,而不投地的IEnumerable''? '列表'應該實現'IEnumerable '。 – asymptoticFault

+0

@asymptoticFault,是的,我得到了同樣的錯誤。 – spiderplant0

回答

2

的問題是,預計的WebGrid您的型號爲IEnumerable<dynamic>,而不是IEnumerable<int>。你的代碼更改爲以下:

@{ 
    Layout = null; 
} 

<!DOCTYPE html> 
<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 

    @{ 
     List<dynamic> obj1 = new List<dynamic>(){ 1, 2, 3, 4 };  
     var grid = new WebGrid(obj1); 
    } 

</head> 
<body> 
    <div> 
     @grid.GetHtml() 
    </div> 
</body> 

+0

Thanksbut你是什麼意思的「是IEnumerable,而不是IEnumerable」 – spiderplant0

+0

謝謝,這擺脫了錯誤,但我得到一個空白屏幕(它打印一張表,但沒有數據單元格) – spiderplant0

+0

對不起,我沒有正確格式我的回覆。我的意思是你需要IEnerumable ,而不是IEnumerable