Html.LabelFor指定文本
任何人有任何想法如何使用Html.LabelFor(c=>c.MyField)
时指定文本。 这只是MyField
可能不是一个合适的名称,你可能想要“超级奇妙的领域”,但似乎没有任何重载。
有任何想法吗?
您使用System.ComponentModel.DataAnnotations.DisplayAttribute
:
[Display(Name = "My Field")] public string MyField { get; set; }
在您的属性上设置ResourceType
属性将允许您使用资源文件。
(在.NET 4之前,使用System.ComponentModel.DisplayNameAttribute
时要注意显示名称必须是编译时常量。)
简单的解决scheme只需在视图中添加以下内容:
@Html.LabelFor(c=>c.MyField, "My Field")
在MVC 3中有一个新的重载,所以你应该能够指定标签帮助器的自定义testing。
我还没有下载v2,所以我不能testing,但我相信它适用于DynamicData,在这种情况下,你可以在你的模型上做这样的事情:
[Display(Name = "The Super Fantastic Field")] public string MyField {get;set;}
我还没有检查出CP1,但我读了Scott的发布,我似乎记得,代码是由T4生成的。 我想你总是可以修改它,但是我会怀疑它们会在CP2中提供重载。
编辑:源始终可用,因此你可以修改方法,改变T4发电机,你会很好去。 也放在一个票或请求(莫名其妙),所以它得到了工作到下一个版本。
有5个重载。 几个提供“stringlabelText”的第二个参数,您将设置为“超级奇妙的领域”。
有两种方法
1“直接注释”
2“Annotatinos与资源”
直接注释
[Display(Name = "My Field")] public string MyField { get; set; }
Annotatinos与资源
[Display(Name = "My_Field",ResourceType = typeof(Resource))] public string MyField { get; set; }
第二种方法将需要在资源文件中添加一个可能被命名为Resource.resx的值 。
使用适合你的目的。