不能让显示名称注释在脚手架下拉列表上工作

本文关键字:脚手架 下拉列表 工作 注释 显示 不能 | 更新日期: 2023-09-27 18:05:55

我有一个名为Contract的实体,在Contract中有一个属性,如下所示:

[Display(Name = "Contract Type")]
[Required]
public int ContractTypeId { get; set; }

ContractTypeId是与另一个实体相关的外键。

如果我为Contract实体搭建一个控制器和视图,它会为ContractTypeId生成一个下拉框(它应该这样做),并正确填充——但它没有应用正确的标签"ContractType",而是仍然显示ContractTypeId作为标签,并忽略数据注释。

这在一个新项目中也会发生-有人有什么想法吗?

不能让显示名称注释在脚手架下拉列表上工作

我知道这是旧的,但我遇到了同样的问题,并找出我的错误是什么。如果其他人遇到同样的问题,我的解决方案是:

检查视图文件,脚手架可以自动为标签添加字符串。在下面的示例中,scaffolding将"CustomerId"添加为下拉菜单的标签。如果您删除"CustomerId"字段,那么它将获取您在显示中设置的标签。

<div class="form-group">
        @Html.LabelFor(model => model.CustomerId, "CustomerId", htmlAttributes: new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownList("CustomerId", null, htmlAttributes: new { @class = "form-control" })
            @Html.ValidationMessageFor(model => model.CustomerId, "", new { @class = "text-danger" })
        </div>
</div>