我是mvc和Razor的新手,需要你的帮助
任何人都可以在我的视图中看到为什么我的2行Razor代码会出错。
<div class=@( if(true){ "divred" } )> Iam in if the block</div>
如果挡了我
Iam in if block 4
这是我的整个代码
@ {
string divClass =&#34; enable&#34 ;;
string blue =&#34; divred&#34 ;;
}
指数
.divred {颜色:红;}
.divblue {颜色:蓝;}
如果挡了我
如果挡了我
<div @(divClass == "enable" ? "class=@blue" : "class=divblue" )>Iam in if the block 4</div>
</div>
</body>
</html>
如果有人可以详细解释,我会很高兴的。正如我所说,我是mvc的新手
答案 0 :(得分:1)
您可以传递一个C#表达式,该表达式最终根据@()
代码块中的if条件返回字符串值。
这应该有用。
<div class='@(true?Html.Raw("divred"):Html.Raw("divblue"))'> Iam in if the block</div>
此处Html.Raw("divred")
返回字符串&#34; divred&#34;因为它(没有编码)
您可以使用任何返回布尔值的C#语句替换表达式中的true
。