如何从 ASP.NET MVC 中的枚举创建下拉列表? [复制]

Posted

技术标签:

【中文标题】如何从 ASP.NET MVC 中的枚举创建下拉列表? [复制]【英文标题】:How to create a dropdownlist from an enum in ASP.NET MVC? [duplicate] 【发布时间】:2016-08-22 05:15:43 【问题描述】:

我正在尝试使用 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<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; 
    

在我的视图中,我试图获取所有国家/地区,但似乎我做错了。

@using (Html.BeginForm())

    <div>
        <p style = "color: red;">@ViewBag.Message</p>
    </div>

    <div>
        <h2> You want to ... </h2>
        <p>Plant trees</p>
        @Html.CheckBoxSimple("support", new  @value = "Plant trees" )

        <p>Support us financial</p>
        @Html.CheckBoxSimple("support", new  @value = "Support financial" )
    </div>

    <input type="submit" value="Continue ">

【问题讨论】:

使用@Html.EnumDropDownListFor ***.com/questions/17280906/… 【参考方案1】:

在你看来你可以使用SelectExtensions.EnumDropDownListFor:

例如:

@Html.EnumDropDownListFor(model => model.Countries)

假设视图的@model 有一个名为Countries 的属性,它是一个enum 类型。

如果您想在下拉菜单中显示默认文本(例如:“选择国家/地区”)。看看下面的问题和答案。

Html.EnumDropdownListFor: Showing a default text

【讨论】:

以上是关于如何从 ASP.NET MVC 中的枚举创建下拉列表? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中为枚举值添加描述以与 ASP.NET MVC 中的下拉列表一起使用? [复制]

如何从现有 SQL DB ASP.Net MVC 4 在下拉列表中填充数据

ASP.NET MVC 中枚举生成下拉框

用枚举填充 ASP.NET MVC 中的 SelectList [重复]

如何在 ASP.NET MVC 3 中为填充的下拉列表创建视图模型

如何使用 ASP.NET Core Razor 页面预选下拉列表中的项目