Anyone got any idea on how to specify text when using Html.LabelFor(c=>c.MyField)
. It's just MyField
might not be an appropriate name to display on screen, you may want "The Super Fantastic Field" instead, but there doesn't appear to be any overloads.
Any ideas?
You use System.ComponentModel.DataAnnotations.DisplayAttribute
:
[Display(Name = "My Field")]
public string MyField { get; set; }
Setting the ResourceType
property on your attribute will allow you to use a resource file.
(Prior to .NET 4 use System.ComponentModel.DisplayNameAttribute
with the caveat that the display name must be a compile-time constant.)
Easy solution just add the following in the view:
@Html.LabelFor(c=>c.MyField, "My Field")
There is a new overload in MVC 3 so you should be able to specifiy custom test for the labelfor helper.
I haven't downloaded v2 yet, so I can't test, but I believe it works like DynamicData, in which case you'd do something like this on your model:
[Display(Name = "The Super Fantastic Field")]
public string MyField {get;set;}
There are two ways
1"direct annotations"
2"Annotatinos with a resource"
Direct annotations
[Display(Name = "My Field")]
public string MyField { get; set; }
Annotatinos with a resource
[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }
Second way will require to add a value in resource file probably named as Resource.resx.
Use which suits your purpose.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With