如何在ASP.NET MVC中从枚举创建下拉列表?

16 浏览
0 Comments

如何在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日
0
0 Comments

在视图中,您可以使用SelectExtensions.EnumDropDownListFor

例如:

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

假设视图的@model具有名为Countries的枚举类型属性。

如果您想在下拉列表中显示默认文本(如:“选择国家”)。请查看以下问题和答案:

Html.EnumDropdownListFor:显示默认文本

0