我在一个数组中有一个带有Html.DropDownListFor的MVC View页面。在后面的代码中,我创建了一个'SelectListItem'列表,它是一个从数据库填充的动态列表。
最初我构建它的方式是从未设置DDL中的选定项目,它总是默认为第一个值。我查找了问题,发现你需要像这样传递选定的值
Html.DropDownListFor(x => x.Sections[i].item, new SelectList(Model.DDL, "Value", "Text", Model.Sections[i].item), new { @class = "form-control" })
从那时起,我添加了一个'SelectListGroup',用'OptGroup'标签对下拉列表项进行分组。
我遇到的问题是我无法使用上面使用的方法使用'DropDownListFor'来处理分组。如果我使用
,它确实很有效Html.DropDownListFor(x => x.Sections[i].Item, Model.DDL, htmlAttributes: new { @class = "form-control" })
不幸的是,我接着没有设置当前选定值的问题。
如何让“OptGroup”工作并将所选项目设置为数组?
答案 0 :(得分:0)
我最终找到了答案......
这是我在最后使用的视图中的代码
@Html.DropDownListFor(m => m.Sections[i].Item, Model.DDL.Select(x => new SelectListItem() { Value = x.Value, Text = x.Text, Group = x.Group, Selected = (x.Value == Model.Sections[i].Item) }).ToList())
我现在可以让OptGroup使用Selected项目集。