Razor三元语法不正确

时间:2013-05-16 08:44:13

标签: asp.net-mvc razor

我从另一个SO帖子中复制了这个三元组:

  <td><input type="button" value="Delete" class="DeleteButton" id="@("D" + param.QueueId)" @{ if(param.StatusId != 1) { @:disabled="disabled" } } /></td>

但它导致编译错误。

在解析输入标记之前,已达到文件结尾或意外字符。

2 个答案:

答案 0 :(得分:2)

@:导致问题,因为它不知道输出结束和Razor启动的位置,尝试将其替换为:

<text>disabled="disabled"</text>

答案 1 :(得分:1)

尝试改变:

@{ if(param.StatusId != 1) { @:disabled="disabled" } }

为:

@(param.StatusId != 1 ? "disabled='disabled'" : string.Empty)