C# 我的视图中的Razor语法错误

C# 我的视图中的Razor语法错误,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,我是mvc和Razor的新手,需要你的帮助 有人知道为什么我的2行代码在我的视图中出错了吗 <div class=@( if(true){ "divred" } )> Iam in if the block</div> 我在这个街区 <div @(divClass == "enable" ? "class=@blue" : "class=divblue" )>Iam in if the block 4</div>

我是mvc和Razor的新手,需要你的帮助

有人知道为什么我的2行代码在我的视图中出错了吗

    <div class=@( if(true){ "divred" } )> Iam in if the block</div>
我在这个街区
        <div @(divClass == "enable" ? "class=@blue" : "class=divblue" )>Iam in if the block 4</div>


    </div>
</body>
</html>
我在第四区
        <div @(divClass == "enable" ? "class=@blue" : "class=divblue" )>Iam in if the block 4</div>


    </div>
</body>
</html>
这是我的全部代码 @{ 字符串divClass=enable; 字符串蓝色=除法; } 指数 .divred{color:red;} .divblue{color:blue;} 我在这个街区
        <div @(divClass == "enable" ? "class=@blue" : "class=divblue" )>Iam in if the block 4</div>


    </div>
</body>
</html>
我在这个街区
        <div @(divClass == "enable" ? "class=@blue" : "class=divblue" )>Iam in if the block 4</div>


    </div>
</body>
</html>

如果有人能详细解释,我会很高兴的。正如我所说,我是mvc的新手,您可以传递一个C表达式,它最终根据@code块中的if条件返回字符串值

这应该行得通

<div class='@(true?Html.Raw("divred"):Html.Raw("divblue"))'> Iam in if the block</div>
这里Html.Rawdivred返回未编码的字符串divred


您可以用返回布尔值的任何C语句替换表达式中的true。

错误是什么?