Html.LabelFor指定的文本(Html.LabelFor Specified Text)

2019-07-03 11:18发布

任何人有关于如何使用时指定文本的任何想法Html.LabelFor(c=>c.MyField) 这只是MyField可能不会在屏幕上显示一个合适的名字,你可能想“超级神奇场”来代替,但不会出现任何过载。

有任何想法吗?

Answer 1:

您可以使用System.ComponentModel.DataAnnotations.DisplayAttribute

[Display(Name = "My Field")]
public string MyField { get; set; }

设置ResourceType你的属性属性将允许您使用一个资源文件。

(现有到.NET 4使用System.ComponentModel.DisplayNameAttribute需要提醒的是显示名称必须是一个编译时间常数。)



Answer 2:

简单的解决办法只是添加的视图:

@Html.LabelFor(c=>c.MyField, "My Field")


Answer 3:

有一个在MVC 3新的过载,所以你应该能够specifiy定制测试的labelfor帮手。



Answer 4:

我还没有下载V2,所以我无法测试,但我相信它像DynamicData,在这种情况下,你会做这样的事情在你的模型:

[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}


Answer 5:

有两种方法
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在资源文件中的值。
使用适合您的目的。



Answer 6:

我没有检查出CP1,但是我读了它的斯科特的释放和我似乎记得,用T4生成的代码。 我想你总是可以国防部,但我会怀疑他们将提供的重载在CP2。

编辑:源始终可用,因此你可以只国防部的方法,改变T4发电机,你会好到哪里去。 也把票或请求(在某种程度上)为国防部,这样会将它工作到下一个版本。



Answer 7:

有5个重载。 一些提供的“串LabelText的”,这你就设置为“超级神奇域”第二个参数。



文章来源: Html.LabelFor Specified Text