DropdownListFor未设置选定值

时间:2014-03-19 19:37:43

标签: c# asp.net-mvc asp.net-mvc-4 html-helper html.dropdownlistfor

下面是我在mvc 4.0中创建drodownlist的代码。此外,我正在尝试设置一个选定的值。

我可以看到我的statesList有一个已选中的值,但下拉列表从不选择所选的值。

Dictionary<String,String> states = Model.State;
var statesList = new SelectList(states, "Value", "Key", Model.SelectedState.ToUpper());
@Html.DropDownListFor(l => l.State, statesList, new { @id = "ddlStates" })

我的模型如下所示

public class ConsumerModel
{
    public Dictionary<string, string> State { get; set; }
    public String SelectedState { get; set; }
}

2 个答案:

答案 0 :(得分:1)

下拉列表,根据模型设置所选值。由于您在视图上设置列表,因此不需要状态字段。将您的下拉列表更改为

@Html.DropDownListFor(l => l.SelectedState, statesList)

你不能覆盖for helper上的id字段。并在控制器上设置SelectedState,它将在视图上设置。

答案 1 :(得分:1)

我认为你需要:

@Html.DropDownListFor(l => l.SelectedState, statesList, new { @id = "ddlStates" })

第一个参数应该是保存模型中值的属性。不是清单。这就是你传递给第二个参数的内容。