0

私はこのようなテーブルを持っています

Id MagNo MagSeason MagYear
 1  1       0        2010
 2  2       1        2010
 3  3       2        2010
 4  4       3        2010

MagSeasonフィールドは、このような MagazineDefault ViewModels のEnumです

public enum Season
{       
    Spring=0,        
    Summer=1,        
    Autumn=2,
    Winter=3
}

マガジンのリストビューでこれを手に入れるにはどうすればよいですか

  No   Season      MagYear
  1    Spring       2010
  2    Summer       2010
  3    Autumn       2010
  4    Winter       2010

私はこのようにキャストします

@Html.DisplayFor(modelItem =>(Cinema.ViewModel.Season) int.Parse(item.MagSeason))

しかし、それはエラーを与えました

"Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions."

私はどこで間違いを犯しましたか?

ありがとうございました

4

1 に答える 1

0

エラーによると、DisplayForはモデルのメンバーを参照する式を必要としています。DisplayForへのパラメーターは、プロパティまたはフィールドでなければなりません

あなたは単にそれを次のようにすることができます

 MyEnum myEnum = (MyEnum)myInt;

さらに、 Enum.IsDefinedを使用して範囲内であることも確認します。

if (Enum.IsDefined(typeof(MyEnum), myInt)) { 
   // it is defined
}
于 2013-10-26T07:37:51.500 に答える