在ASP中访问列表的Count属性时出错.asp.net MVC 3



当我试图在视图上的ViewModel中显示IList的计数属性时,我得到以下错误:

属性System.Collections.Generic.IList ' 1[[web . viewmodels . view]]ItemViewModel, web, 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时才会引发错误。

你为什么不试试呢:

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

可以将IList强制转换为List,然后使用List。数

试试这个:

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

最新更新