题
任何人有关于如何使用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
之前需要提醒的是显示名称必须是一个编译时间常数。)
其他提示
易于溶液只是添加在视图以下内容:
@Html.LabelFor(c=>c.MyField, "My Field")
有在MVC 3新的过载,所以你应该能够specifiy定制测试的labelfor帮手。
我还没有下载V2,所以我无法测试,但我相信它像DynamicData,在这种情况下,你会做这样的事情在你的模型:
[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}
有两种方式,点击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 资源文件中添加一个值。结果 使用适合您的目的。
我没有检查出CP1,但是我读了它的斯科特的释放和我似乎记得,用T4生成的代码。我想你总是可以国防部,但我会怀疑他们将提供的重载在CP2。
编辑:源始终可用,因此你可以只国防部的方法,改变T4发电机,你会好到哪里去。也把票或请求(在某种程度上)为国防部,这样会将它工作到下一个版本。
有5个重载。一些提供“字符串LabelText的”,这你就设置为“超级神奇场”的第二个参数。
不隶属于 StackOverflow