选择使用其中的项创建的元素,但在html结果中未显示“selected”属性。我做错了什么?
此代码有效:
控制器:
ViewBag.ProductTwistDirectionID = new SelectList(db.tblProductTwistDirection,
"ProductTwistDirectionID",
"ProductTwistDirectionName",
tblProduct.ProductTwistDirectionID);
视图:
@Html.DropDownList("ProductTwistDirectionID",
null,
htmlAttributes: new { @class = "form-control" })
此代码无效:(所选项目未在渲染时选择)
控制器:
ViewBag.ProductUsePurposes = new MultiSelectList(db.tblProductUsePurpose,
"ProductUsePurposeID",
"ProductUsePurposeName",
tblProduct.ProductUsePurposes
.Select(x
=> x.ProductUsePurposeID)
.ToArray());
视图:
@Html.DropDownListFor(model => model.ProductUsePurposes,
null,
new
{
@class = "chosen-select",
multiple = "multiple",
data_placeholder = "Choose use purposes",
style = "width: 400px;"
})
答案 0 :(得分:2)
您持有选择列表的$('div').find(input[data-color='#42B4E6']).hide();
成员的名称不能与您的模型属性相同。除了ViewBag
和ViewBag
之外,还使用ViewData
来组成Request
对象,ModelState
中的任何内容都会覆盖模型上的属性。
简单地说,您需要将ModelState
重命名为ViewBag.ProductUsePurposes
。那么,你应该没事。