我想获得具有特定枚举值的模型数量。 像这样:
(@Model.Status == "pending").Count().tostring())
或
(@Model.Status.Contains("pending").Count().tostring())
所有模型最初都会传回,然后按其状态进行分组。
例如,@Model.Count()
将返回所有模型(待定,接受等)
为了加入上下文,此计数将在收件箱中显示为数字,因此最终结果如下:
待定(8)接受(3)......等
请注意,这是一个使用razor 2视图的asp.net MVC 4应用程序。
答案 0 :(得分:2)
您可以使用重载的Count
方法:
@Model.Count(m => m.Satus == YourEnum.Pending)
答案 1 :(得分: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())