@ html.dropdownlist表示未在绑定时显示选定的值

时间:2014-08-10 09:12:40

标签: c# asp.net asp.net-mvc-4

我在dropdownlist绑定asp.net mvc 4之前绑定我将一个值标记为已选中,但是当显示视图时,下拉列表被绑定但未选中所选值

List<SelectListItem> citylist = new List<SelectListItem>();
var status = (DataSet)_rtmi_repo.GetCity(ref BaseObject);
foreach (DataRow v in status.Tables[0].Rows)
{
if (v["CODE"].ToString() == selectedval)
{
citylist.Add(new SelectListItem { Text = v["CODE"].ToString(), Value = v["CODE"].ToString(), Selected = true });
}
else
{
citylist.Add(new SelectListItem { Text = v["CODE"].ToString(), Value = v["CODE"].ToString() });
}
}

查看

@{var ddl = (IEnumerable<SelectListItem>)ViewBag.Location;}
 @Html.DropDownListFor(model=>model.Location,ddl , new { @class = "form-control" })

即使在ddl中它显示所选的true,但在绑定后它总是选择列表中的第一个值作为选择

还创建了filddle,但这里工作正常 "Example FIDDLE"

1 个答案:

答案 0 :(得分:1)

如果您的viewbag名称与model属性名称相同,则所选选项不会设置为DropDownListFor