我有一个类似于以下的模型类:
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Web.Mvc;
[System.Runtime.Serialization.DataContract(IsReference = true)]
[System.ComponentModel.DataAnnotations.ScaffoldTable(true)]
public class TestModel
{
[Display(Name="Schedule Name")]
[Required]
public string scheduleName;
}
在我的.cshtml文件中,我有:
<li>
@Html.LabelFor(m => m.scheduleName)
@Html.TextBoxFor(m => m.scheduleName, Model.scheduleName)
@Html.ValidationMessageFor(m => m.scheduleName)
</li>
但由于某种原因,我的显示名称没有显示(标签显示'scheduleName')
我发誓我在其他类中有相同的代码,它似乎显示得很好。任何人都可以指出为什么这不起作用的原因吗?
答案 0 :(得分:8)
DataAnnotationsModelMetadataProvider
适用于属性。您的scheduleName
应该是属于“只是”字段的属性。
[System.Runtime.Serialization.DataContract(IsReference = true)]
[System.ComponentModel.DataAnnotations.ScaffoldTable(true)]
public class TestModel
{
[Display(Name="Schedule Name")]
[Required]
public string scheduleName { get; set; }
}
注意:根据C#命名约定,您的属性名称应为PascalCased。