如何在ASP.NET MVC中从枚举创建下拉列表?
如何在ASP.NET MVC中从枚举创建下拉列表?
这个问题已经有了答案:
如何在ASP.NET MVC中从枚举创建一个下拉列表?
我正试图使用Html.DropDownList扩展方法,但无法弄清如何将其与枚举一起使用。
我的类:
namespace Support_A_Tree.Models { public enum Countries { Belgium, Netherlands, France, United_Kingdom, Other } [MetadataType(typeof(SupporterMetaData))] public partial class Person { public string Name { get; set; } public Countries Country { get; set; } public List allCountries() { List choices = new List(); foreach (String c in Enum.GetValues(typeof(Countries))) { choices.Add(new SelectListItem() { Text = c , Value = bool.TrueString }); } return choices; } } public class SupporterMetaData { public string Name { get; set; } [Required] public Countries Country { get; set; } } }
在我的视图中,我尝试获取所有的国家,但好像我做错了。
@using (Html.BeginForm()) {
@ViewBag.Message
You want to ...
Plant trees
@Html.CheckBoxSimple("support", new { @value = "Plant trees" })
Support us financial
@Html.CheckBoxSimple("support", new { @value = "Support financial" }) }
admin 更改状态以发布 2023年5月21日
在视图中,您可以使用SelectExtensions.EnumDropDownListFor:
例如:
@Html.EnumDropDownListFor(model => model.Countries)
假设视图的@model具有名为Countries的枚举类型属性。
如果您想在下拉列表中显示默认文本(如:“选择国家”)。请查看以下问题和答案: