@html.下拉列表用于在绑定时不显示所选值

本文关键字:显示 定时 下拉列表 用于 绑定 @html | 更新日期: 2023-09-27 18:17:14

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

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,但在绑定后,它总是选择列表中的第一个值作为选定

还创建了菲尔德尔,但在这里它工作正常"示例小提琴">

@html.下拉列表用于在绑定时不显示所选值

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