Html.DropDownListFor添加Preselect值时值重复



我的代码是这样的

List<String> ddlData = new List<string>();
ddlData.Add("--Select--");
ddlData.Add("Manager");
@Html.DropDownListFor(n => n.myddl, new SelectList(ddlData), "Manager", new { @class = "custom-select" })

在我看来一切都很好,但当Dropdown加载时,它会加载两个";经理";我只希望ddlData项填充并预先选择";经理";。

如果ddlData是在视图中定义的,您可以尝试:

@Html.DropDownListFor(m => ddlData,
ddlData.Select(d => { return new SelectListItem() { Selected = (d.ToString() == "Manager"),  Text = d, Value = d }; }),
null, new { @class = "custom-select" })

但是,如果ddlData作为参数传递给视图,并且视图模型定义为@model IList<string>下一行也将正确填充DropDownList

@Html.DropDownListFor(m => Model.GetEnumerator().Current,
Model.Select(d =>
{
return new SelectListItem() { Selected = (d.ToString() == "Manager"), Text = d, Value = d };
}),
null, new { @class = "custom-select" })

最新更新