无法根据ViewBag值动态更改类

时间:2014-05-14 17:37:01

标签: c# asp.net-mvc-4 razor

这是我的控制器代码,其中我将ViewBag.Val的值设置为1.现在基于此值,我试图在我的Index视图中更改href的类但是它没有将类设置为Class="A" <a @ViewBag.Val==1? class="A":class="B" href="#"> Hello </a>  我对asp.net MVC很新,所以任何帮助都会受到赞赏。

但我得到的如下所示:

<a 1="=1?" class="A" :class="B" href="#">
    Hello
</a>

3 个答案:

答案 0 :(得分:3)

尝试更改

@ViewBag.Val==1? class="A":class="B"

class="@(ViewBag.Val==1? "A": "B")"

答案 1 :(得分:0)

你的剃刀代码错了。看看这里:

<a class=@ViewBag.Val==1? "A":"B" href="#">
   Hello
</a>

答案 2 :(得分:0)

尝试使用?控制器中的条件运算符,用于确定View中所需的类。

在控制器中:

int someInt = 1;
ViewBag.Class = someInt == 1 ? "A" : "B";

在视图中:

<a class="@ViewBag.Class">

似乎是更好的SoC这种方式,因为你没有用条件逻辑阻碍你的View。