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

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 に答える