更改外键MVC的显示名称

本文关键字:显示 MVC | 更新日期: 2023-09-27 18:27:00

在我的MVC应用程序中,我有一个属于某个"类别"的模型,另一个模型
当显示索引视图时,此模型的名称和类别名称都称为"名称",如何将显示的类别名称更改为名称以外的名称?

[Table("Product")]
    public partial class Product
    {
        public int ProductId { get; set; }
        [Required]
        public string Name { get; set; }
        [Required]
        public string Description { get; set; }
        public int CategoryId { get; set; }
        public decimal Price { get; set; }
        public virtual Category Category { get; set; }
    }

我已经尝试过在CategoryId和Category以上使用[DisplayName ("New Name")],但这似乎不起作用,有人能给我建议吗?

感谢

更改外键MVC的显示名称

当您使用脚手架生成视图时,可能会发生这种情况。这种情况发生在使用下拉列表选择外键的情况下。与其他生成的标签不同,这些标签传递了一个附加参数"labelText",该参数将覆盖您在模型属性中设置的DisplayName。删除附加参数或将其更改为要显示的文本。我在下面的示例代码中添加了文本(ChangeOrRemoveMe)。

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