我知道这里有许多类似的问题,但没有解决方案帮助我解决这个问题。这是我的情况:
我的模型中有一个列表。
public List<SelectListItem> Layouts { get; set; }
在我的“加载”方法之后,结果如下:
然后在我看来,我使用了这个重载:
@Html.DropDownListFor(x => x.Layout, Model.Layouts, "Select a Layout",
new { @id = "ddLayouts", @onchange = "javascript:getExampleAddresses(this.value);" })
使用debbuger踩到那条确切的行,我得到以下结果:
到目前为止,一切看起来都不错,但是当我踩到下一行时,所选的值会获得Selected = false
并且我的值不会被选中。有没有人知道为什么会这样?
答案 0 :(得分:3)
您强烈绑定到属性Layout
Layout
的值决定了所选内容,而不是Selected
的{{1}}属性(忽略了它)。
在控制器中设置SelectListItem
的值以匹配其中一个选项的值,并在视图中选择该选项