MVC4 SelectListItem Selected属性

时间:2014-02-06 23:04:56

标签: asp.net-mvc-4 html.dropdownlistfor dropdownlistfor

我在我的视图中添加了一个DropDownListFor。

@Html.DropDownListFor(m => m.SelectedItem_ID,Model.ItemsRepository)

列表正在使用列表中的所有SelectItem对象进行渲染。但是在我的SelectItemList中有一个SelectItem对象已设置为selected = true。我可以在行上放置一个调试点,我看到属性设置为true但是当html渲染时,所选项目永远不是默认值。它似乎是一个错误,但我不确定。我已经尝试在一个字符串中手动添加该项目与另一个逗号没有骰子。任何经历同样事情的人。提前致谢。

2 个答案:

答案 0 :(得分:1)

我在这里添加了一些我在其中一个项目中使用的代码。

private SelectList GetProjectItemType()
        {
            var values = new List<SelectListItem>();
            values.Add(new SelectListItem() { Value = "Project", Text = "Project" });
            values.Add(new SelectListItem() { Value = "Bug", Text = "Bug" });
            values.Add(new SelectListItem() { Value = "Feature", Text = "Feature" });
            values.Add(new SelectListItem() { Value = "Improvement", Text = "Improvement" });
            return new SelectList(values, "Value", "Text", values[1]);
        }

SelectList构造函数的最后一个参数将指定将选择哪个值作为默认值。

希望这会对你有所帮助!

答案 1 :(得分:1)

在返回视图之前,我没有清除模型状态。在我清除视图之前,我在控制器中添加了以下内容并修复了我的问题。

ModelState.Clear();