如何在 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(使用前将#替换为@)