下面是我在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; }
}
答案 0 :(得分:1)
下拉列表,根据模型设置所选值。由于您在视图上设置列表,因此不需要状态字段。将您的下拉列表更改为
@Html.DropDownListFor(l => l.SelectedState, statesList)
你不能覆盖for helper上的id字段。并在控制器上设置SelectedState,它将在视图上设置。
答案 1 :(得分:1)
我认为你需要:
@Html.DropDownListFor(l => l.SelectedState, statesList, new { @id = "ddlStates" })
第一个参数应该是保存模型中值的属性。不是清单。这就是你传递给第二个参数的内容。