我无法确定为什么DropDownListFor没有选择正确的选项。以下是我的代码,我已经硬编码'已选择'用于测试的值,但仍然在页面加载时我得到了'选择国家/地区'作为选定的值。
@Html.DropDownListFor(x => x.CountryID,
new List<SelectListItem> {
new SelectListItem { Text = "USA", Value = "US", Selected = false},
new SelectListItem { Text = "UK", Value = "UK", Selected = true},
new SelectListItem { Text = "Australia", Value = "AUS", Selected = false }
},"Select Country")
但是,同样适用于DropDownList!
@Html.DropDownList("CountryID",
new List<SelectListItem> {
new SelectListItem { Text = "USA", Value = "US", Selected = false},
new SelectListItem { Text = "UK", Value = "UK", Selected = true},
new SelectListItem { Text = "Australia", Value = "AUS", Selected = false }
},"Select Country")
请帮助。
答案 0 :(得分:1)
当您使用强类型帮助程序时,所选选项将基于属性CountryID
的实际值。因此,如果在将模型传递给视图之前在控制器中设置CountryID="UK"
,则将选择第二个选项。
答案 1 :(得分:0)
尝试以下方法:
@{
var listItems = new List<SelectListItem>
{
new SelectListItem { Text = "USA", Value = "USA" },
new SelectListItem { Text = "UK", Value = "UK", Selected = true },
new SelectListItem { Text = "Australia", Value = "AUS" }
};
}
@Html.DropDownListFor(x => x.CountryID, listItems, "-- Select Country --")