0

我有这样的表

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

MagSeason字段是这样的MagazineDefault ViewModels 中的枚举

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 回答