在视图中更改RAZOR编辑框以下拉框

时间:2012-08-12 16:16:10

标签: vb.net asp.net-mvc-3 razor

我正在尝试将以下内容更改为下拉框,但收效甚微:

@Html.EditorFor(Function(model) model.BillStatus)

我已经定义了一个类型字符串列表(其中包含所有两个变量Active和Inactive)但是如何将其设置为属于我的模型的BillStatus?这是我模型的scaffolded创建视图。

2 个答案:

答案 0 :(得分:0)

Html.EditorFor的默认实现不支持下拉列表。

相反,请使用Html.DropDownListFor

答案 1 :(得分:0)

您可以使用DropDownList帮助程序:

@Html.DropDownList("Status", Model.BillStatus.Select(Function(x) New SelectListItem() With { .Text = x, .Value = x }))

如果您的视图模型已经具有包含所选值(类型为字符串)的属性,则可以使用强类型DropDownListFor帮助程序

@Html.DropDownList(Function(model) model.Status, Model.BillStatus.Select(Function(x) New SelectListItem() With { .Text = x, .Value = x }))