例如,在以下示例中,我想基于特定条件添加名为“noDisplay”的类。 (1 == 1,为简单起见。)
我试过了:
<tr class='@if (1== 1) { Html.Raw("noDisplay"); }'>
和
@if (1 == 1) {
@: class="noDisplay"
}>
答案 0 :(得分:3)
您发布的内容正在发挥作用,但Html.Raw
部分仅被视为函数调用,而不是要呈现的内容。简单的解决方案是在调用前添加@
符号(这将使Razor呈现函数的输出)或删除对Html.Raw
的调用并使用<text>
块:
<tr class='@if (1== 1) { @Html.Raw("noDisplay"); }'>
或者:
<tr class='@if (1== 1) { <text>noDisplay</text> }'>
答案 1 :(得分:0)
这是你需要做的:
@{
var myClass = (1 == 1 ? "noDisplay" : "");
}
<tr class='@myClass'>
或者,只是:
<tr class='@(1 == 1 ? "noDisplay" : "")'>
答案 2 :(得分:0)
Object
@{
if(1 == 1)
{
var theClass = "noDisplay";
}
}
<tr class='@theClass'>
是一个输出包含纯文本或不匹配的HTML标记的单行内容的运算符。 @:
定义了一个代码块。使用@{ ... }
可以访问您在代码或其他C#构造中定义的变量。
此处有更多信息和示例:http://www.asp.net/web-pages/overview/getting-started/introducing-razor-syntax-c