DropDownListFor 没有从模型中正确选择
DropDownListFor not selecting correctly from Model
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description"), new { @class = "form-control" })
所以我的列表正在创建,并且 model.Members[index].Contact.RelationId.Value = 2
但不会 select DDL 的第二个 ID 只有第一个。
我已经尝试了几种不同的方法和堆栈溢出解决方案。不确定我可能做错了什么
one of the answers attempted
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description"), Model.Members[index].Contact.RelationId.Value)
没有效果
根据 MSDN 上的 this article,SelectList class 上有一个构造函数,它采用以下参数:
SelectList Constructor (IEnumerable, String, String, Object)
其中 IEnumerable 是 SelectList 项,第一个 String 是键,第二个 String 是文本,Object 是 SelectedValue,这就是我看到的你的目标。
因此,我相信你应该试试这个:
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description", model.Members[index].Contact.RelationId.Value), new { @class = "form-control" })
看看是否有效:)
在这一行
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description"), Model.Members[index].Contact.RelationId.Value)
应该是这样的:
@Html.DropDownListFor(m => m.Members[4].Contact.RelationId.RelationId,
new SelectList(Model.Relations, "RelationId", "Description", Model.Members[4].Contact.RelationId.RelationId), new { @class = "form-control" })
"m => m.Members[4].Contact.RelationId.RelationId" 是在 post 返回期间应保存值的位置。
Model.Members[4].Contact.RelationId.RelationId 是在下拉列表中选择的值。
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description"), new { @class = "form-control" })
所以我的列表正在创建,并且 model.Members[index].Contact.RelationId.Value = 2
但不会 select DDL 的第二个 ID 只有第一个。
我已经尝试了几种不同的方法和堆栈溢出解决方案。不确定我可能做错了什么
one of the answers attempted
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description"), Model.Members[index].Contact.RelationId.Value)
没有效果
根据 MSDN 上的 this article,SelectList class 上有一个构造函数,它采用以下参数:
SelectList Constructor (IEnumerable, String, String, Object)
其中 IEnumerable 是 SelectList 项,第一个 String 是键,第二个 String 是文本,Object 是 SelectedValue,这就是我看到的你的目标。
因此,我相信你应该试试这个:
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description", model.Members[index].Contact.RelationId.Value), new { @class = "form-control" })
看看是否有效:)
在这一行
@Html.DropDownListFor(model => model.Members[index].Contact.RelationId.Value, new SelectList(Model.Relations, "RelationId", "Description"), Model.Members[index].Contact.RelationId.Value)
应该是这样的:
@Html.DropDownListFor(m => m.Members[4].Contact.RelationId.RelationId,
new SelectList(Model.Relations, "RelationId", "Description", Model.Members[4].Contact.RelationId.RelationId), new { @class = "form-control" })
"m => m.Members[4].Contact.RelationId.RelationId" 是在 post 返回期间应保存值的位置。
Model.Members[4].Contact.RelationId.RelationId 是在下拉列表中选择的值。