计算具有特定Enum值的模型数
本文关键字:模型 Enum 计算 | 更新日期: 2023-09-27 18:28:33
我想获得具有特定枚举值的模型的数量。类似这样的东西:
(@Model.Status == "pending").Count().tostring())
或
(@Model.Status.Contains("pending").Count().tostring())
所有模型最初都会传递回来,然后按其状态进行分组。例如,@Model.Count()
将返回所有型号(待定、已接受等)
放在上下文中,这个计数只会在收件箱中显示为一个数字,所以最终结果看起来像:
待定(8)已接受(3)。。。。etc
请注意,这是一个使用razor 2视图的asp.net MVC 4应用程序。
您可以使用重载Count
方法:
@Model.Count(m => m.Satus == YourEnum.Pending)
要计算特定条件,必须在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())