Problem DisplayNameFor aus Ressourcen mit HTML-Codierung

ich stand vor der Herausforderung, dass mir die Funktion

@Html.DisplayNameFor(model => model.ValueMaxT0Difference)
In der View nicht das gewünschte Ergebnis zurück lieferte.

Warum?

In der Ressourcen Datei steht:
„Max T<sub>0</sub> Differenz [K]“ also: „Max T0 Differenz [K]“

In dem Model steht:

[Display(ResourceType = typeof(ResourcesLocal.Resources), Name = "MaxT0Differenz")]
[DisplayFormat(DataFormatString = "{0:0.0}", NullDisplayText = "-", ConvertEmptyStringToNull = true)]
public double? ValueMaxT0Difference { get; set; }

und in der View stand für die Überschrift:
@Html.DisplayNameFor(model => model.ValueMaxT0Difference)

Daraus wurde im Browser dann folgendes:
„Max T<sub>0</sub> Differenz [K]“

Hier die Lösung:
In der View:
@Html.DisplayNameFor(model => model.ValueMaxT0Difference)
ersetzen durch:
@Html.Raw(HttpUtility.HtmlDecode(Html.DisplayNameFor(model => model.ValueMaxT0Difference).ToString()))

Daraus wird im Browser dann folgendes:
„Max T0 Differenz [K]“

Hat jemand eine bessere bzw. einfachere Lösung?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.