如何针对Razor中的枚举类型渲染枚举值检查

时间:2011-03-25 14:27:26

标签: asp.net-mvc razor

我想知道如何在Razor中实现这一目标。

目前我在一些JavaScript中有这个:

if (@Convert.ToInt16(ViewBag.Status.Type) == @Convert.ToInt16(StatusType.Info))
{
   // do something here
}

但我想知道是否有更好的方法?看起来有点笨拙的做法......

1 个答案:

答案 0 :(得分:2)

这里有一些选项,除非if()匹配(在这种情况下,这是一大堆未使用的代码,对吧?),我倾向于使用的不是渲染JavaScript,如下所示:< / p>

@if ((int)ViewBag.Status.Type == (int)StatusType.Info)
{
   @:document.getElementById('test')...
}

或者对于较大的块,<text>例如:

@if ((int)ViewBag.Status.Type == (int)StatusType.Info)
{
   <text>
   var elem = document.getElementById('test');
   elem.focus();
   </text>
}