这个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)
我正在寻找对这种情况发生的原因的理解,以及如何解决问题的帮助。关于这个主题有很多Q / A,但似乎都没有。
答案 0 :(得分:1)
您正在使用@Html.LabelFor()
的重载,其第二个参数为要显示的标签文本。 Refer docuemntation。将其更改为
@Html.LabelFor(model => model.campaign_id, htmlAttributes: new { @class = "control-label col-md-2" })