在我的MVC应用程序中,我有一个注册,我有一个下拉列表Gender
来填充我在视图中包含代码
@Html.DropDownList("Gender", new List<SelectListItem>{
new SelectListItem {Text="Male" , Value="Male"},
new SelectListItem{Text= "Female",Value="Female"},
},"Select Gender")
但是在编辑而不是绑定正确的Gender
时,它采用的是默认值。例如,对于Test
人,Gender
为Male
,但在编辑页面上显示默认值,即Select Gender
,而不是显示为Male
答案 0 :(得分:1)
“选定的性别”是您的下拉列表的默认值,但由于您未指定任何选定的值(即当前人员性别),因此在页面加载时它将始终显示第一个项目。假设您的Person模型中有“Gender”属性,则可以尝试此操作:
@model myNamespace.PersonModel
@Html.DropDownListFor(model => model.Gender, new List<SelectListItem>{
new SelectListItem {Text="Male" , Value="Male"},
new SelectListItem{Text= "Female",Value="Female"},
},"Select Gender")
所选值将是当前人的性别。
答案 1 :(得分:0)
您正在使用具有以下签名的帮助程序:
DropDownList(HtmlHelper,String,IEnumerable,String)
Microsoft将该字符串定义为“optionLabel”。 http://msdn.microsoft.com/en-us/library/dd492883.aspx换句话说,它只是一个占位符。如果您希望“男性”成为默认值,请构建您的助手:
@Html.DropDownList("Gender", new List<SelectListItem>{
new SelectListItem {Text="Male" , Value="Male"},
new SelectListItem {Text =“Female”,Value =“Female”}, })
然后您可以将“选择性别”移到标签上。