在ASP.Net MVC 3中访问IList的Count属性时出错

时间:2011-09-23 19:56:55

标签: asp.net-mvc razor

当我尝试在View上的ViewModel中显示IList的count属性时出现以下错误:

  

属性System.Collections.Generic.IList`1 [[WebUI.ViewModels.ItemViewModel,WebUI,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]。无法找到计数。

我视图中出现错误的行是:

<td>@Html.DisplayFor(modelItem => item.ItemCollection.Count)</td>

检查后,正确填充集合,这行代码正常工作:

<td>@Html.DisplayFor(modelItem => item.ItemCollection[0].Id)</td>

我明显有一个对System.Collections.Generic的引用,所以我怀疑错误是指向WebUI.ViewModels.ItemViewModel对象。调试时可以访问它,只有在访问Count时才会出现错误。

2 个答案:

答案 0 :(得分:3)

为什么不尝试:

<td>@Model.ItemCollection.Count</td>

没有HtmlHelper ......

答案 1 :(得分:0)

您可以将 IList 投射到列表,然后使用List.Count

尝试一下:

<td>@Html.DisplayFor(modelItem => ((List<WebUI.ViewModels.ItemViewModel>)item.ItemCollection).Count)</td>