微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-mvc – MVC – 更改下拉列表中的默认文本

我有一个包含枚举的视图模型:

public class PasswordChangerIndexviewmodel
{
    public enum DatabaseTypes
    {
        Main = 10,Florida = 20,Illinois = 30,Missouri = 40,NewHampshire = 50,NewJersey = 60,Oklahome = 70
    };

    [displayName("Database")]
    public DatabaseTypes DatabaseType { get; set; }

}

在我看来,我正在使用EnumDropDownListFor创建一个下拉列表:

<div class="row">
    <div class="col-md-1">
        <div class="form-group">
            @Html.EnumDropDownListFor(z => z.DatabaseType,"** Select a Database **");
        </div>
    </div>
</div>

它正在工作,但我想知道是否有办法改变文本.我希望新罕布什尔州代替NewHampshire和新泽西而不是NewJersey.是否有一种DisplayName attribute或其他我可以应用于我的视图模型来解决这个问题?

解决方法

在枚举成员上使用 DisplayAttribute

public enum DatabaseTypes
{
  Main = 10,[display(Name = "New Hampshire")]
  NewHampshire = 50,[display(Name = "New Jersey")]
  NewJersey = 60,Oklahome = 70
};

一般来说,您应该支持使用[display]而不是[displayName],因为它支持本地化.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐