我用这个:
<input type="checkbox" value="@item.Id" checked="@(item.HasAccess ? "checked" : "")"/>
这是正常的:我的意思是HasAccess
true
然后checked="checked"
以及何时
HasAccess
false
然后是checked=""
但是checkbox
总是被选中,我如何正确使用三元运算符并处理checked
属性?
答案 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/