Asp.net mvc 3 ASP.NET MVC 3,部分视图和计数()
这是我的代码Asp.net mvc 3 ASP.NET MVC 3,部分视图和计数(),asp.net-mvc-3,razor,partial-views,Asp.net Mvc 3,Razor,Partial Views,这是我的代码 @model QA.posts @{var c = Model.Count(o => o.parent == Model.id);} 为什么Count()方法在此区域不可用? 我在常规视图中使用它 编辑: 这是我的错误,我有IEnumerable,我想将每个项目发送到foreach语句中的部分视图。局部视图只获得一个类,而count()不起作用,这是正常的。我将找到单独发送计数以查看的解决方案。您需要导入System.Linq @using System.Linq @mod
@model QA.posts
@{var c = Model.Count(o => o.parent == Model.id);}
为什么Count()
方法在此区域不可用?
我在常规视图中使用它
编辑:
这是我的错误,我有
IEnumerable
,我想将每个项目发送到foreach语句中的部分视图。局部视图只获得一个类,而count()
不起作用,这是正常的。我将找到单独发送计数以查看的解决方案。您需要导入System.Linq
@using System.Linq
@model QA.posts
@{var c = Model.Count(o => o.parent == Model.id);}
我猜想Model
是一种可枚举的
数据类型,这意味着为了使用,必须导入System.Linq
名称空间
编辑:
根据您的评论,您可能需要更改模型声明:
@model IList<QA.posts> // Or whatever you want the Model to be list-wise.
@model IList//或任何您希望模型按列表显示的内容。
这样,模型现在是一个帖子列表,这意味着您现在可以使用Count
,而无需导入System.Linq
如果这仍然没有帮助,那么您可以显示您的QA.posts模型类的代码吗?QA.posts是一个自动生成的类,具有用于单个表的实体框架,我想在“foreach”语句中使用“partial view”,我认为@model应该是一个类而不是一个通用列表。恐怕我无法进一步提供帮助。使用System.Linq
过去在使用EF类和扩展方法(如Count
)时对我很有效。Jason Evans,非常感谢您的帮助。我更新了我的问题。问题是我将'single class'发送到'partial view',很明显single没有'count'方法,我通过用'ViewDataDictionary'发送'count'解决了这个问题。再次感谢您。QA.posts
源自什么类型?这是一个看起来很奇怪的类名…这是映射到“posts”表的类,并使用实体自动生成framework@Mironline您的视图是否有“@model QA.posts”或“@model IEnumerable”??