显示(名称=“”)仅适用于某些情况
本文关键字:适用于 情况 名称 显示 | 更新日期: 2023-09-27 18:24:35
这个MVC 5应用程序来自数据库优先的方法。因此,添加了一个分部类来处理任何验证等。
由于某些原因,[Display(Name=")]将无法处理数据库中的任何外键字段(视图中有SelectList)。它适用于所有其他领域。实际呈现的名称是"创建/编辑"页面上数据库中的"campaign_id"列。在索引/详细信息/删除页面上,它是"名称"(大写N,不符合我们的任何命名惯例)。
public class mailMetadata
{
[Required]
[Display(Name = "Campaign")]
public int campaign_id;
}
我也尝试过使用DisplayName("),但也没有成功。
视图绘制的更新代码
创建/编辑
@Html.LabelFor(model => model.campaign_id, "campaign_id", htmlAttributes: new { @class = "control-label col-md-2" })
详细信息/索引/删除
@Html.DisplayNameFor(model => model.campaign.campaign_id)
我正在寻求对为什么会发生这种情况的理解,以及如何补救的帮助。关于这个话题有很多问答,但似乎都不起作用。
您正在使用@Html.LabelFor()
的重载,该重载具有作为要显示的标签文本的第二个参数。请参阅文档。将其更改为
@Html.LabelFor(model => model.campaign_id, htmlAttributes: new { @class = "control-label col-md-2" })