Asp.net mvc MVC3和选中属性的Razor视图中的三元运算符
我用这个:Asp.net mvc MVC3和选中属性的Razor视图中的三元运算符,asp.net-mvc,asp.net-mvc-3,razor,ternary-operator,checked,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=”“但始终选中复选框,如何使用三元运算符并正确处理checked属性?不幸的是,在razor V1中,您必须这样做: <input type
<input type="checkbox" value="@item.Id" checked="@(item.HasAccess ? "checked" : "")"/>
这是正确的:我的意思是当HasAccess
为true
时,然后checked=“checked”
以及
HasAccess
为false
然后checked=”“
但始终选中复选框,如何使用三元运算符并正确处理checked
属性?不幸的是,在razor V1中,您必须这样做:
<input type="checkbox" value="@item.Id" @(item.HasAccess ? "checked=\"checked\"" : "") />
这是因为在HTML世界中,不管值是多少,只要属性存在,浏览器就会选中该框
在RazorV2中,这不是什么问题。请参阅下文的条件属性部分:
您在哪里使用此代码?如果你发布了更多的视图,那么我必须看到的更多上下文将有助于解决问题problem@Chris实际上,我只在网格组件或控件中看到了这一点,在MVC视图中从来没有看到过,在MVC视图中,您可以从中利用帮助程序,但ok:-)这是一个很好的替代方案(有一个带有复选框的示例):