加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 09:55:17 所属栏目:asp.Net 来源:网络整理
导读:我有一个包含枚举的视图模型: public class PasswordChangerIndexViewModel{ public enum DatabaseTypes { Main = 10,Florida = 20,Illinois = 30,Missouri = 40,NewHampshire = 50,NewJersey = 60,Oklahome = 70 }; [DisplayName("Database")] public Data
我有一个包含枚举的视图模型:

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],因为它支持本地化.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读