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

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....