显示(名称=“”)仅适用于某些

时间:2014-09-25 00:00:45

标签: c# asp.net-mvc

这个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,但似乎都没有。

1 个答案:

答案 0 :(得分:1)

您正在使用@Html.LabelFor()的重载,其第二个参数为要显示的标签文本Refer docuemntation。将其更改为

@Html.LabelFor(model => model.campaign_id, htmlAttributes: new { @class = "control-label col-md-2" })