关于 c#:为什么这个下拉列表对于选定的值不起作用?

Why wont this dropdownlistfor selected value work?

我的 ViewModel 中有这些属性:

1
2
3
 [Required(ErrorMessage ="Make is required")]
 public int CarOneMakeId { get; set; }
 public SelectList CarOneMakes { get; set; }

我的构造函数中的这段代码:

1
CarOneMakes = new SelectList(carMakes,"Key","Value", chosenMakes[0].Value);

当我在调试中将鼠标悬停在 CarOneMakes 上时,我可以清楚地看到已给出所选值。最后,我的视图中有这个:

1
@Html.DropDownListFor(m => m.CarOneMakeId, Model.CarOneMakes,"Select Makes", new { @class ="form-control" })

由于某种原因,我无法获得要选择的默认值。我知道它有正确的值。

我已经尝试确保 DropDownListFor 的第一个参数是一个 id,确保我没有冲突的名称,甚至将其转换为一些人已经做过但也没有做任何事情的选择列表:

1
@Html.DropDownListFor(m => m.CarOneMakeId, ((SelectList)Model.CarOneMakes),"Select Makes", new { @class ="form-control" })

有什么我错过的想法吗?


你应该把你选择的 ID 放到 m.CarOneMakeId 这就是 DropDownListFor 的工作原理。