web-dev-qa-db-fra.com

Html.LabelFor Texte spécifié [ASP.NET MVC 2]

Tout le monde a une idée sur la façon de spécifier du texte lors de l’utilisation de Html.LabelFor(c=>c.MyField). Il se peut que MyField ne soit pas un nom approprié à afficher à l'écran. Vous voudrez peut-être «Le champ fantastique», mais il ne semble pas y avoir de surcharge.

Des idées?

76
Kezzer

Vous utilisez System.ComponentModel.DataAnnotations.DisplayAttribute :

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

Définir la propriété ResourceType sur votre attribut vous permettra d’utiliser un fichier de ressources.

(Avant .NET 4, utilisez System.ComponentModel.DisplayNameAttribute en précisant que le nom complet doit être une constante de compilation.)

130
Curtis Buys

Solution simple, ajoutez simplement ce qui suit dans la vue:

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

Il y a une nouvelle surcharge dans MVC 3, vous devriez donc pouvoir spécifier un test personnalisé pour labelfor helper.

26
Joe Cartano

Je n'ai pas encore téléchargé la version 2, je ne peux donc pas tester, mais je pense que cela fonctionne comme DynamicData.

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

Il y a deux façons 
1 "annotations directes" 
2 "Annotatinos avec une ressource" 
Annotations directes

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

Annotatinos avec une ressource

[Display(Name = "My_Field",ResourceType = typeof(Resource))]
public string MyField { get; set; }

Dans un deuxième temps, il faudra ajouter une valeur au fichier de ressources probablement nommé Resource.resx .
Utilisez ce qui convient à vos besoins.

2
Baimyrza Shamyr

Il y a 5 surcharges. Plusieurs offrent le deuxième paramètre de "string labelText", que vous définissez sur "Le champ fantastique".

0
yogibeare

Je n'ai pas encore vérifié le CP1 mais j'ai relu la publication de Scott et je me souviens que le code avait été généré par T4. Je suppose que vous pouvez toujours modifier cela, mais je soupçonne qu’ils fourniront des surcharges dans le CP2.

Edit: Le source est toujours disponible et vous pouvez donc simplement modifier la méthode, changer le générateur de T4, et vous serez prêt à partir. Mettez également un ticket ou une requête (en quelque sorte) pour ce mod afin qu’il soit traité dans la version suivante. 

0
Chance