【发布时间】:2011-12-28 01:21:52
【问题描述】:
我有一个看似简单的任务,即根据模型的布尔值设置“选中”单选按钮。我的模型“IsSDPDonor”中有一个布尔值,我想将它用于是/否单选按钮。如果“IsSDPDonor”为真,则应选中“是”单选按钮,如果为假,则应选中“否”单选按钮。我尝试使用下面的代码,但它总是选中“否”单选按钮。
@Html.Label("Would You Like to Donate Platelets (SDP)") :
@Html.RadioButtonFor(m => m.Donor.IsSDPDonor, true, new {@checked = Model.Donor.IsSDPDonor ? "checked" : ""}) Yes
@Html.RadioButtonFor(m => m.Donor.IsSDPDonor, false, new { @checked = !Model.Donor.IsSDPDonor ? "checked" : "" }) No
我有点沮丧,所以我想我宁愿寻求帮助。基本上,HTML 语法表示只放置“Checked”属性而不使用任何值来检查单选按钮。我想知道如何使用 MVC3 razor 语法来做到这一点。
【问题讨论】:
-
为什么在匿名对象定义中使用
@checked而不是checked?另外,使用checked="checked"应该与不带值的检查具有相同的效果,并且兼容性问题更少 -
@smartcaveman 因为
checked是一个关键字,您必须使用@将其区分为变量(在本例中为属性名称)。