【问题标题】:C# MVC DropDownListFor: Set Selected In Array With OptGroupC# MVC DropDownListFor:使用 OptGroup 在数组中设置选定对象
【发布时间】:2017-06-18 11:38:24
【问题描述】:

我有一个 MVC 视图页面,其中包含一个数组中的 Html.DropDownListFor。在后面的代码中,我创建了一个“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”与 Grouping 一起使用。如果我使用它确实可以完美地工作

Html.DropDownListFor(x => x.Sections[i].Item, Model.DDL, htmlAttributes: new { @class = "form-control" })

不幸的是,我遇到了未设置当前选定值的问题。

如何使“OptGroup”正常工作并将所选项目设置为数组?

【问题讨论】:

标签: c# asp.net-mvc razor


【解决方案1】:

我终于找到了答案……

这是我最后使用的视图中的代码

@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 项目集一起使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-10
    • 2013-11-16
    • 2012-05-12
    相关资源
    最近更新 更多