How to create a dropdownlist from an enum in ASP.NET MVC?
本问题已经有最佳答案,请猛点这里访问。
我正在尝试使用html.dropdownlist扩展方法,但无法确定如何将其与枚举一起使用。
我的班级:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | 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<SelectListItem> allCountries() { List<SelectListItem> choices = new List<SelectListItem>(); 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; } } } |
在我看来,我试图争取到所有国家,但似乎我做错了。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | @using (Html.BeginForm()) { <p style ="color: red;">@ViewBag.Message </p> You want to ... <p> Plant trees </p> @Html.CheckBoxSimple("support", new { @value ="Plant trees" }) <p> Support us financial </p> @Html.CheckBoxSimple("support", new { @value ="Support financial" }) <input type="submit" value="Continue"> } |
在您的视图中,您可以使用SelectExtensions.EnumDropDownListfor:
例如:
1 | @Html.EnumDropDownListFor(model => model.Countries) |
考虑到视图的
如果要在下拉列表中显示默认文本(如:"选择国家")。看看下面的问题和答案。
html.enumDropDownListfor:显示默认文本