将位类型转换为下拉列表

时间:2014-04-09 15:39:56

标签: c# asp.net-mvc linq entity-framework razor

我在BIT中有一个sql database类型,我希望将其转换为DropDownList

我将模型传递给具有active字段的页面。该字段为true或false。我添加了在数据库中修改此列的功能。

是否可以创建一个DropDownListFor,为他们提供"Active" "Disable"选项,然后将正确的值返回给数据库?

@Html.DropDownListFor(m => m.active, ??)

@Model.active 

2 个答案:

答案 0 :(得分:3)

我从未尝试过这个,但是这个怎么样:

@Html.DropDownListFor(m=> m.active, new List<SelectListItem>() { new SelectListItem { Text = "Active", Value = "true", Selected = Model.active }, new SelectListItem { Text = "Inactive", Value = "false", Selected = Model.active } })

答案 1 :(得分:0)

此解决方案效果很好。如果模型值是“ False”,我唯一需要更改的代码就是“ Selected”值

@Html.DropDownListFor(m=> m.active, new List<SelectListItem>() { new SelectListItem { Text = "Active", Value = "true", Selected = Model.active }, new SelectListItem { Text = "Inactive", Value = "false", Selected = !Model.active } })

即使它应该显示为非活动状态,它也显示为活动。