有没有办法终止 MVC Razor @: 行?
Is there a way to terminate MVC Razor @: line?
考虑这个例子:
<input type="checkbox" @if (flag) { @: checked } />
问题在于 } />
被 Razor 引擎视为输出字符串的一部分。
我试过使用括号但没有成功。
有没有办法在同一行中终止 @:
运算符,或者我必须将它拆分到其他行/使用三元运算符?
更新
我的请求的一个非常常见的用例可以是添加一个 class 如果值为真:
<div class='container @(active ? "active")'/>
因此,如果三元运算符的 :
不存在,它会将其视为一元 if
运算符,但这只是一个愿望...
Here是我对 C# UserVoice 的建议。
对于单个属性,您可以使用 @value
语法,复选框也有特殊情况(参见 Razor quick reference ):
<input type="checkbox" checked="@flag" />
您还可以使用 <text>
提供显式(而不是 "up to end of the line")结束标记的语法:
<input type="checkbox" @if (flag) { <text>checked</text> } />
考虑这个例子:
<input type="checkbox" @if (flag) { @: checked } />
问题在于 } />
被 Razor 引擎视为输出字符串的一部分。
我试过使用括号但没有成功。
有没有办法在同一行中终止 @:
运算符,或者我必须将它拆分到其他行/使用三元运算符?
更新
我的请求的一个非常常见的用例可以是添加一个 class 如果值为真:
<div class='container @(active ? "active")'/>
因此,如果三元运算符的 :
不存在,它会将其视为一元 if
运算符,但这只是一个愿望...
Here是我对 C# UserVoice 的建议。
对于单个属性,您可以使用 @value
语法,复选框也有特殊情况(参见 Razor quick reference ):
<input type="checkbox" checked="@flag" />
您还可以使用 <text>
提供显式(而不是 "up to end of the line")结束标记的语法:
<input type="checkbox" @if (flag) { <text>checked</text> } />