【发布时间】:2016-09-01 11:38:32
【问题描述】:
我有一个包含多个选择列表的表单,我也使用引导选择选择器。
代码:
型号:
[Display(Name = "SystemTyp")]
[Required(ErrorMessage = "Vänligen välj typ")]
public List<SelectListItem> SystemTypes { get; set; }
查看:
<div class="form-group">
@Html.Label("SystemTyp", new { @class = "col-md-2 control-label" })
<div class="col-md-10">
@Html.DropDownList("SystemTypes",
RegistrationHandlers.GetSystemtypes()
,
new { @class = "form-control", @multiple = "multiple", @title = "--- Välj Systemtyp ---" })
@Html.ValidationMessageFor(model => model.SystemTypes, "", new { @class = "text-danger" })
</div>
</div>
发帖时:
每次我发布列表都是空的。 列表名称与模型属性名称匹配。
我错过了什么?
我有另一个列表,它是一个单一的选择,所以选择的值是一个简单的字符串,这工作正常,但上面让我头疼。
【问题讨论】:
-
您的
SelectList属性被命名为SystemTypes并且您显示的视图代码在任何地方都没有使用它。您所展示的只是一个DropDownList()方法,它绑定到一个名为UserRole的属性 -
复制了错误的下拉列表,抱歉,检查编辑
-
SystemTypes是您的SelectList。您不能绑定到SelectList。您的属性必须是(比如)IEnumerable<int> SystemTypes(<select>元素只回发一组简单值) -
不要使用
DropDownList()- 使用ListBoxFor(m => m.SystemTypes, RegistrationHandlers.GetSystemtypes(), new { ... })这是生成<select multiple>的正确方法 -
@Stephen Muecke 最近你就像一个守护天使。谢谢m8
标签: c# asp.net-mvc asp.net-mvc-5 bootstrap-selectpicker