asp.net-mvc - DropDownListFor EF5 中的枚举

标签 asp.net-mvc entity-framework razor

使用 MVC4 Razor 和 Entityframework 5。我有一个名为组织的表,其中有一个整数 TypeID 字段,我创建了一个枚举类型。在代码中,我可以使用枚举设置和比较 typeid。

 public enum OrganisationType : int
    {
        Company = 1,
        Department = 2,
        Location = 4
    }

但是,当我使用默认的 vs2012 mvc 4 razor 模板或通过 mvcscaffolding nuget 包生成 create.cshtml 时,都会忽略 TypeID 字段。我正在考虑修改 tt 模板,以便它们自动生成。但最初可以在下拉列表中显示枚举的描述性名称。

最佳答案

这就是解决方案,遗憾的是修改 TT 模板以实现自动化并不简单。

@Html.DropDownListFor(model => model.TypeID, new SelectList(Enum.GetValues(typeof(Models.OrganisationType))))

这将显示一个带有文本值的下拉组合,即公司、部门、位置。

关于asp.net-mvc - DropDownListFor EF5 中的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12460152/

相关文章:

c# - 是什么导致: "The context cannot be used while the model is being created."?

sql-server - 如何将 MS SQL 数据类型 numeric(19, 0) 映射到 .NET 类型

c# - WebGrid Helper 分页不适用于 .NET 4.5 MVC 4

javascript - 如果我使用 AJAX 调用它,如何取消 MVC 操作?

asp.net - asp.net ajax 控件可以用作纯客户端控件吗?

c# - 使用 SignalR 广播消息时忽略客户端

asp.net-mvc - 在 ListBoxFor 中选择值的挑战

c# - 为什么 Entity Framework 引用了一个根本不存在的列?

asp.net-mvc - 在 ASP.NET MVC3 Razor 渲染时获取 View 中的区域名称

asp.net-mvc - mvc查看表行数计数器