2012-05-07 131 views
-1

这是我考虑ASP.NET MVC 3,局部视图和COUNT()

@model QA.posts 
@{var c = Model.Count(o => o.parent == Model.id);} 

代码为什么Count()方法不可用在这方面的? 我在常规视图中使用它。

编辑: 这是我的错误,我有IEnumerable<QA.posts>,并希望每一个项目发送到partial views在foreach语句。正常情况下,部分视图只能获得一个类,并且count()不起作用。我将找到解决方案分别发送计数来查看。

+0

'QA.posts'从哪个类型派生?这是一个奇怪的类名... –

+0

这是映射类到“职位”表和自动生成的实体框架 – Mironline

+0

@Mironline您的看法有'@model QA.posts'或'@model IEnumerable '?? – Saad

回答

0

您需要导入System.Linq的

@using System.Linq 
@model QA.posts 
@{var c = Model.Count(o => o.parent == Model.id);} 

我的猜测是,ModelEnumerable数据类型,这意味着为了使用Count,你必须导入System.Linq命名空间。

编辑:

基于您的评论,您可能需要更改模型声明:

@model IList<QA.posts> // Or whatever you want the Model to be list-wise. 

这样,型号是现在,这意味着你现在可以使用Count没有帖子列表需要导入System.Linq。

如果仍然没有帮助,那么您能否为您的QA.posts模型类展示代码?

+0

我已经做了,但没有工作! – Mironline

+0

QA.Posts是自动生成的具有单个表的实体框架的类,我想使用“foreach”语句中的“partial views”,我认为@model应该是一个类而不是一个通用列表。 – Mironline

+0

恐怕我不能再帮忙了。过去,在使用EF类和扩展方法(如Count)时,使用'System.Linq'已经为我工作了。 –