0

抱歉,这可能真的很明显,但我只需要检查一下。我有一个包含相关信息的嵌套类的类。该类是单数的,不在列表或任何内容中,但 MVC 不会绑定到该字段。

模型

public class Car
{
    public GloveBoxDetail GloveBox = new GloveBoxDetail();
}

public class GloveBoxDetail
{
    public bool isLockable{get;set;}
}

看法

@Html.DropDownListFor(model => model.GloveBox.isLockable, new SelectList(...))

我是否必须手动创建 DropDownList?

谢谢

克里斯

4

2 回答 2

0

您可以将任何 IEnumarable 绑定到 DropDownList

请尝试这样

在控制器中

List<SelectListItem> yesno=new List<SelectListItem>();
yesno.add(new SelectListItem("Yes","Yes",true);
yesno.add(new SelectListItem("No","No");

ViewBag.YesNoList=yesno;

在视图中

@Html.DropDownListFor(model => model.GloveBox.isLockable,
      IEnumbarable<SelectListItem>(ViewBag.YesNoList))

@Html.CheckboxFor在这种情况下使用它更好。如果需要Nullable<bool>,您可能需要创建自己的自定义 Html 帮助程序

检查这篇关于创建自定义助手的帖子

于 2013-09-25T15:14:51.160 回答
0

昨晚设法弄清楚了。它仅用于显示数据,因此不需要更新模型,因此我无需担心绑定回发。我通过将选择列表的“选定值”设置为模型来解决它,虽然很脏但它可以工作。

谢谢

克里斯

于 2013-09-26T07:43:48.670 回答