任何人有关于如何使用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的”,这你就设置为“超级神奇场”的第二个参数。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top