任何人都知道如何在使用Html.LabelFor(c=>c.MyField)
. 它MyField
可能不适合在屏幕上显示,您可能想要“The Super Fantastic Field”,但似乎没有任何重载。
有任何想法吗?
任何人都知道如何在使用Html.LabelFor(c=>c.MyField)
. 它MyField
可能不适合在屏幕上显示,您可能想要“The Super Fantastic Field”,但似乎没有任何重载。
有任何想法吗?
您使用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 中有一个新的重载,因此您应该能够为 helper 的 label 指定自定义测试。
我还没有下载 v2,所以我无法测试,但我相信它像 DynamicData 一样工作,在这种情况下,你会在你的模型上做这样的事情:
[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}
有两种方式
1“直接注解”
2“Annotatinos with a resource”
直接注解
[Display(Name = "My Field")]
public string MyField { get; set; }
带有资源的注释
[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }
第二种方法需要在资源文件中添加一个值,可能名为 Resource.resx。
使用适合您的目的。
我还没有检查过 CP1,但我阅读了 Scott 发布的它,我似乎记得代码是由 T4 生成的。我想你总是可以修改它,但我怀疑它们会在 CP2 中提供重载。
编辑:源始终可用,因此您只需修改方法,更改 T4 生成器,您就可以开始使用了。还为该模块输入票证或请求(以某种方式),以便将其用于下一个版本。
有 5 个重载。有几个提供“string labelText”的第二个参数,您可以将其设置为“The Super Fantastic Field”。