【发布时间】:2025-11-23 13:30:02
【问题描述】:
好的,自从大约 3 年前我第一次开始使用 MVC 以来,这个问题一直困扰着我。 绑定到下拉列表一直是一件令人头疼的事情,但有一种巧妙的方法可以通过这样做来为枚举做到这一点:
@Html.DropDownListFor(model => model.Type, new SelectList(Enum.GetValues(typeof(mediaZone.Common.Models.AssetType)), Model.Type))
很好,但唯一的问题是该解决方案将输出如下内容:
<select id="Type" name="Type">
<option>Image</option>
<option selected="selected">Video</option>
<option>Website</option>
</select>
我想做的是输出如下内容:
<select id="Type" name="Type">
<option value="1">Image</option>
<option value="2" selected="selected">Video</option>
<option value="3">Website</option>
</select>
我们现在是 MVC 的第 5 版,您会认为很多很多人都遇到过这个问题并且不想编写代码来解决它。 我真的希望有人有一个单行解决我这个琐碎问题的方法:)
干杯, /r3plica
【问题讨论】:
-
不是我要找的。我不想要一个辅助类,我什至不想再写一行代码。我知道我自己“可以”编写一个辅助类,但可以肯定的是,这个简单的东西应该只是 MVC 的一部分......
-
所以...您需要知道是否有针对您的问题的 1 行解决方案...这就是您的全部问题?那就不要。算线的事情,回到青春期:)
-
似乎很奇怪,我可以在一行中根据我的枚举创建一个下拉列表,但我也不能指定默认值.....
标签: c# asp.net-mvc model-view-controller enums html.dropdownlistfor