【问题标题】:Ternary Operator in Razor View of MVC3 and Checked AttributeMVC3 Razor 视图中的三元运算符和选中的属性
【发布时间】:2012-05-27 20:00:53
【问题描述】:

我用这个:

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

这工作正常:我的意思是当HasAccesstrue 然后是checked="checked" 和当 HasAccessfalse 然后是 checked="" 但始终选中 checkboxs,如何使用三元运算符并正确处理 checked 属性?

【问题讨论】:

  • 您在哪里使用此代码?如果您发布更多的视图,我必须看到的更多上下文将有助于解决问题
  • @Chris 我实际上只在网格组件或控件中看到过这一点,从来没有在 MVC 视图中看到过帮助者,但是没关系 :-)

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


【解决方案1】:

不幸的是,在 razor 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/

【讨论】:

猜你喜欢
  • 2011-09-11
  • 2017-06-04
  • 2020-05-18
  • 2013-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多