Jeder hat eine Idee, wie man Text bei der Verwendung angibt Html.LabelFor(c=>c.MyField)
. Es ist MyField
möglicherweise kein geeigneter Name für die Anzeige auf dem Bildschirm. Möglicherweise möchten Sie stattdessen "The Super Fantastic Field", aber es scheint keine Überlastung zu geben.
Irgendwelche Ideen?
c#
asp.net-mvc
razor
Kezzer
quelle
quelle
using System.ComponentModel;
.Error 381 An attribute argument must be a constant expression, typeof expression or array creation expression of an attribute parameter type
. Diese Lösung scheint also schlecht für 18n zu sein.System.ComponentModel.DataAnnotations.DisplayAttribute
die Verwendung einer Ressourcendatei ermöglicht. Wenn Sie noch nicht auf 4 / 4.5 sind, kann das alteSystem.ComponentModel.DisplayNameAttribute
wie folgtEinfache Lösung Fügen Sie einfach Folgendes in die Ansicht ein:
@Html.LabelFor(c=>c.MyField, "My Field")
quelle
In MVC 3 gibt es eine neue Überlastung, sodass Sie in der Lage sein sollten, einen benutzerdefinierten Test für das Etikett für den Helfer festzulegen.
quelle
Ich habe v2 noch nicht heruntergeladen, kann es also nicht testen, aber ich glaube, es funktioniert wie DynamicData. In diesem Fall würden Sie so etwas auf Ihrem Modell tun:
[Display(Name = "The Super Fantastic Field")] public string MyField {get;set;}
quelle
Es gibt zwei Möglichkeiten:
1 "direkte Annotationen"
2 "Annotatinos mit einer Ressource"
Direkte Annotationen
[Display(Name = "My Field")] public string MyField { get; set; }
Annotatinos mit einer Ressource
[Display(Name = "My_Field",ResourceType = typeof(Resource))] public string MyField { get; set; }
Für den zweiten Weg muss ein Wert in der Ressourcendatei hinzugefügt werden, der wahrscheinlich als Resource.resx bezeichnet wird .
Verwenden Sie, was Ihrem Zweck entspricht.
quelle
Ich habe CP1 noch nicht ausgecheckt, aber ich habe Scotts Veröffentlichung gelesen und ich erinnere mich, dass der Code von T4 generiert wurde. Ich nehme an, Sie könnten das immer modifizieren, aber ich würde vermuten, dass sie in CP2 Überlastungen verursachen.
Bearbeiten: Die Quelle ist immer verfügbar. Sie können also einfach die Methode ändern, den T4-Generator ändern und loslegen. Gib auch ein Ticket oder eine Anfrage (irgendwie) für diesen Mod ein, damit er in die nächste Version eingearbeitet wird.
quelle
Es gibt 5 Überladungen. Einige bieten den zweiten Parameter von "string labelText" an, den Sie auf "The Super Fantastic Field" setzen würden.
quelle