DropdownListFor不显示编辑器模板中记录中的值

时间:2014-12-18 20:01:56

标签: asp.net-mvc asp.net-mvc-5

我在使用创建模板创建的视图中有一个drodownlistfor,它完全正常。用户可以选择一个选项并添加记录而不会出现任何问题

问题是当我为用户创建视图以编辑已创建记录的值时,下拉列表不会显示已传递的特定模型中的值。我试过这个

 @Html.DropDownListFor(m => m.GlobalMaterialId, ViewBag.MetalIds as SelectList,Model.MaterialName) 

这将在页面加载时显示下拉列表中的值,但这只是一种幻觉。如果用户没有触摸这个并且确实更改了另一个字段中的值并保存,则记录将使用Dropdownlist项目的第一个值保存(而不是记录中的那个)。因此,为了保持相同的值,用户必须在每次加载编辑视图时手动选择项目。我究竟做错了什么?请帮忙。 谢谢! 干杯!

1 个答案:

答案 0 :(得分:1)

脱掉" Model.MaterialName"作为最后一个参数,所以它看起来如下。您不必传递所选值,当您使用DropDownListFor时,它会自动设置为模型中的值。

@Html.DropDownListFor(m => m.GlobalMaterialId, ViewBag.MetalIds as SelectList)