MVC - 下拉值未在视图中绑定
MVC - DropDown Value not Binding in View
在我看来,我使用的是 Helper DropDown
。我面临的问题是数据是 not getting binded
到 DropDown
。当我从 Controller 为 ShiftId
设置值时,应该在 DropDown 中选择该值,这在我的情况下没有发生。
@{Dictionary<string, string> shifts = (Dictionary<string, string>)ViewBag.Shifts;}
@Html.DropDownListFor(m => m[i].List[q].ShiftId, new System.Web.Mvc.SelectList(shifts, "Key", "Value"), "Select")
您在循环中生成下拉菜单,不幸的是这是助手的限制。您需要在每次迭代(您正在做的)中生成一个新的 SelectList
,但您还需要在 SelectList
构造函数中设置所选值。
@Html.DropDownListFor(m => m[i].List[q].ShiftId,
new SelectList(shifts, "Key", "Value", Model[i].List[q].ShiftId),
"Select"
)
在我看来,我使用的是 Helper DropDown
。我面临的问题是数据是 not getting binded
到 DropDown
。当我从 Controller 为 ShiftId
设置值时,应该在 DropDown 中选择该值,这在我的情况下没有发生。
@{Dictionary<string, string> shifts = (Dictionary<string, string>)ViewBag.Shifts;}
@Html.DropDownListFor(m => m[i].List[q].ShiftId, new System.Web.Mvc.SelectList(shifts, "Key", "Value"), "Select")
您在循环中生成下拉菜单,不幸的是这是助手的限制。您需要在每次迭代(您正在做的)中生成一个新的 SelectList
,但您还需要在 SelectList
构造函数中设置所选值。
@Html.DropDownListFor(m => m[i].List[q].ShiftId,
new SelectList(shifts, "Key", "Value", Model[i].List[q].ShiftId),
"Select"
)