c# - mvc4 下拉列表中的枚举值

标签 c# asp.net-mvc-4

如何在mvc4中使用枚举值创建下拉列表

我有一个类 Language.cs

 public enum Language {
    English = 0
}

而我的属性(property)是

public Language Language { get; set; }

我将如何通过下拉列表调用我的 View

最佳答案

你可以有一个 View 模型:

public class MyViewModel
{
    public Language SelectedLanguage { get; set; }
    public IEnumerable<SelectListItem> Languages
    {
        get 
        {
            var languages = 
                from l in Enum.GetValues(typeof(Language))
                select new { ID = (int)d, Name = d.ToString() };
            return new SelectList(languages , "ID", "Name", this.SelectedLanguage);
        }
    }
}

然后在你看来:

@Html.DropDownListFor(x => x.SelectedLanguage, Model.Languages)

另一种可能性是编写一个自定义帮助程序来封装此逻辑,如 this blog post 所示。 .

关于c# - mvc4 下拉列表中的枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17162052/

相关文章:

c# - .NET 中只允许唯一项的集合?

c# - 生成一个(几乎)具有 30*s²+2 个细胞的六角行星?

c# - C# 类型推断有多好?

c# - 无法将文件 ‘{0}' 作为数据库 '{1}' 附加。先写代码。本地 SQL EXPRESS 实例。 VS 2010 SP1。 window XP

javascript - Keypress event() 不会在 Firefox 中触发,而是在 Chrome 中触发

entity-framework - 获取刚刚保存到数据库 MVC4 ASP.Net 的模型的记录 ID

c# - 如何从 C# 中同一项目下的不同窗口窗体访问不同组件?

c# - 检测 XML 的更好方法?

css - 动态 css 类取决于实体属性的值

c# - 什么时候应该在 ASP.NET MVC 中使用异步 Controller ?