Razor视图中的三元运算符MVC3和Checked属性

时间:2012-05-27 11:15:37

标签: asp.net-mvc asp.net-mvc-3 razor ternary-operator checked

我用这个:

<input type="checkbox" value="@item.Id" checked="@(item.HasAccess ? "checked" : "")"/>

这是正常的:我的意思是HasAccess true然后checked="checked"以及何时 HasAccess false然后是checked=""但是checkbox总是被选中,我如何正确使用三元运算符并处理checked属性?

1 个答案:

答案 0 :(得分:13)

不幸的是,在剃须刀V1中,你必须这样做:

<input type="checkbox" value="@item.Id" @(item.HasAccess ? "checked=\"checked\"" : "") />

这是因为在HTML世界中,只要存在属性,无论值如何,都会告诉浏览器选中该框。

在Razor V2中,这不会是一个问题。请参阅以下文章的条件属性部分:

http://vibrantcode.com/blog/2012/4/10/whats-new-in-razor-v2.html/