1

我想获得具有一定枚举值的模型数量。像这样的东西:

  (@Model.Status == "pending").Count().tostring())

或者

  (@Model.Status.Contains("pending").Count().tostring())

所有模型最初都被传回,然后按其状态分组。例如@Model.Count() 将返回所有模型(待定、接受等)

在上下文中,此计数将仅显示为收件箱中的数字,因此最终结果如下所示:

待定 (8) 已接受 (3)....等

请注意,这是一个使用 razor 2 视图的 asp.net MVC 4 应用程序。

4

2 回答 2

2

您可以使用重载Count方法:

@Model.Count(m => m.Satus == YourEnum.Pending)
于 2013-08-21T14:50:43.290 回答
1

要依靠特定条件,您必须在Count方法内使用谓词,如下所示:

(@Model.Count(s => s.Status == StatusEnum.Pending).ToString())

此外,如果您在表单中只有枚举名称string,则需要使用Enum.Parse来获取值,如下所示:

(StatusEnum)Enum.Parse(typeof(StatusEnum), "Pending")

结果将是:

(@Model.Count(s => s.Status == (StatusEnum)Enum.Parse(typeof(StatusEnum), "Pending")).ToString())
于 2013-08-21T15:02:39.060 回答