Razor 中枚举下拉列表的显示名称

2024-03-26

如何在 Razor 的下拉列表中显示枚举的自定义名称?我当前的代码是:

@Html.DropDownListFor(model => model.ExpiryStage,
        new SelectList(Enum.GetValues(typeof(ExpiryStages))),
        new { @class = "selectpicker" })

我的枚举是:

public enum ExpiryStages
{
    [Display(Name = "None")]
    None = 0,

    [Display(Name = "Expires on")]
    ExpiresOn = 1,

    [Display(Name = "Expires between")]
    ExpiresBetween = 2,

    [Display(Name = "Expires after")]
    ExpiresAfter = 3,

    [Display(Name = "Current")]
    Current = 4,

    [Display(Name = "Expired not yet replaced")]
    ExpiredNotYetReplaced = 5,

    [Display(Name = "Replaced")]
    Replaced = 6
}

例如,我想在 DropDownList 中显示“Expired not Yet Replaced”而不是 ExpiredNotYetReplaced。


从 MVC 5.1 开始,他们添加了这个新的助手。你只需要一个枚举

public enum WelcomeMessageType
    {
        [Display(Name = "Prior to accepting Quote")]
        PriorToAcceptingQuote,
        [Display(Name = "After Accepting Quote")]
        AfterAcceptingQuote
    }

您可以通过编写来创建显示名称的下拉列表

@Html.EnumDropDownListFor(model => model.WelcomeMessageType, null, new { @id = "ddlMessageType", @class = "form-control", @style = "width:200px;" })
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Razor 中枚举下拉列表的显示名称 的相关文章

随机推荐

  • boost::asio::async_resolve 问题

    我正在构造一个使用的 Socket 类boost asio 首先 我做了一个connect获取主机和端口并将其解析为 IP 地址的方法 这很有效 所以我决定看看async resolve 但是 我的回调总是收到错误代码995 使用与同步工作
  • 没有await的using语句中的async,这安全吗?

    如果在 using 语句中进行异步调用 并且调用的结果是异步处理的 即 发生这种情况的方法是异步的 并且在加载和处理结果之前返回 那么 using 语句是否会超出范围 换句话说 做这样的事情是否安全 async void LoadAndPr
  • C# 运行时提升应用程序权限

    我已经尝试了 Stackoverflow com 中描述的所有可能的解决方案 但我无法使应用程序以管理员身份运行或提示管理员权限 I tried 使用 runAs requireAdministrator 创建清单 手动设置 verb ru
  • Magento,自定义产品列表

    我根据Mage Catalog Block Product List制作了自己的产品列表页面 应用程序 代码 本地 法师 目录 块 产品 Special php class Mage Catalog Block Product Specia
  • rubyonrails 更新到 gem 1.8.1 时出错

    我将gem更新到最新的1 8 1 现在当我使用rails命令时 我收到如下错误 NOTE Gem Specification default executable is deprecated with no replacement It w
  • 艺术::ConditionVariable::WaitHoldingLocks(艺术::线程*)

    我们的移动应用程序已发布在 Google Play 商店中 崩溃和 ANR 报告在 Firebase Crashlytics 中生成 出现如下所示的ANR 0 libc so 系统调用 28 1 libart so 艺术 Condition
  • SolrNET - 从 Nuget 拉取时无法加载文件或程序集“HttpWebAdapters”

    我正在使用 Nuget 在 ASP NET MVC 项目中获取最新版本的 SolrNET 和 StructureMap SolrNetIntegration x IncludeRegistry new SolrNetRegistry Sol
  • 如何以编程方式缩放 UIScrollView?

    我想以基类不支持的方式缩放和取消缩放 例如 在收到双击时 在玩过东西并使其正常工作后 我正在回答我自己的问题 Apple 在其有关如何处理双击的文档中提供了一个非常简单的示例 进行编程缩放的基本方法是您自己执行此操作 然后告诉 UIScro
  • 按 IN 运算符中指定的特定顺序选择 ID

    我想尝试以特定顺序选择一组特定的数字 以便与循环一起使用 SELECT ID FROM filter WHERE id in 87 97 117 52 240 76 141 137 157 255 186 196 133 175 153 2
  • 如何清除 Angular Reactive Forms 中的 FormArray

    我正在重置表单 它重置整个表单 但 FormArray 除外 创建表单并在其中声明 formArray createForm this invoiceForm this formBuilder group name Validators r
  • 未使用 setImageURI() 在 ImageView 中设置图像

    创建自己的相机 因为我需要对焦来拍照 相机工作正常 正如预期的那样 通过URI活动之间 I ve ImageView in Next Screen which i used to set the Image with imgView set
  • python 3 中随机游走的奇怪结果?

    我刚刚开始学习 python 并且在打印 3 维随机游走的新位置时遇到问题 没有弹出错误 但是很明显打印的输出 x y z 是不合理的 当逐步模拟随机游走时 我假设每次只应更改 x y z 中的一个值 但输出中似乎没有 我正在尝试调试它 但
  • 如何在 WPF 中对 DataGrid 列标题进行分组

    是否可以在 WPF 数据网格中执行此操作 A header B Header A1Header A2Header B1Header B2Header A1Data A2 Data B1 Data B2 Data A1Data A2 Data
  • 如何在 Eclipse 中使用 Antlr4 Ide 查看实时解析树?

    我是 Antlr4 的新手 但我知道 Eclipse 存在一个插件 我有一个简单的问题 创建 g4 文件后 如何可视化实时解析树以便查看输入表达式的树 谢谢 在 Eclipse 中安装 Antlr4Ide 插件后 窗口 gt 显示视图 gt
  • 从 Fiori 列表报告导航到标准应用程序(例如热点)?

    我已经根据之前创建的 CDS 视图创建了列表报告 Fiori 应用程序 是否有可能在现有和 或附加 CDS 视图中使用一些注释来创建供应商编号上的热点智能字段 IE 当我点击它时 它会将我导航到该供应商的标准 业务合作伙伴 应用程序 如果这
  • 代码优先迁移过程:我缺少哪一部分?

    我的步骤 1 使用查询在 SSMS 中创建我的数据库 Execute in SQL Server Management Studio prior to building data model s CREATE DATABASE snaked
  • Accumulo、zookeeper hadoop CENTOS 6 的安装说明、下载和版本

    我希望获得有关 Accumulo zookeeper hadoop 安装说明 下载和 CENTOS 6 版本的指导 Thanks Chris 您可以通过cloudera manager版本5进行安装 我最近使用相同的方式安装了accumul
  • GDB - 如何打破“有些东西被写入cout”?

    我想设置一个断点 每次写入内容时都会触发stdout通过cout流 但我无法找到该断点的可能位置 我怎样才能在 gdb 中做到这一点 这是一种依赖于平台的方式 如果您在 x86 64 上并使用 gcc 进行构建 则写入 std cout 会
  • 多个已排序数组的交集

    From this https stackoverflow com questions 2400157 the intersection of two sorted arrays 我们知道解决两个排序数组的交集的方法 那么如何获取多个已排序
  • Razor 中枚举下拉列表的显示名称

    如何在 Razor 的下拉列表中显示枚举的自定义名称 我当前的代码是 Html DropDownListFor model gt model ExpiryStage new SelectList Enum GetValues typeof