考虑这个例子:
<input type="checkbox" @if (flag) { @: checked } />
问题是Razor引擎将} />
视为输出字符串的一部分。
我试过使用括号但没有运气。
有没有办法在同一行中终止@:
运算符,或者我必须将它拆分为其他行/使用三元运算符?
如果值为true,我的请求的一个非常常见的用例可能是添加一个类:
<div class='container @(active ? "active")'/>
因此,如果三元运算符的:
不存在,它会将其视为一元if
运算符,但这只是一个愿望......
Here是我对C#UserVoice的建议。
答案 0 :(得分:6)
对于单个属性,您可以使用@value
语法,也有特殊情况的复选框(请参阅Razor quick reference):
<input type="checkbox" checked="@flag" />
您还可以使用<text>
语法提供明确的(而不是“最后一行”)结束标记:
<input type="checkbox" @if (flag) { <text>checked</text> } />