2017-01-12 3 views
0

ich eine öffentliche Klasse wie dieses:Render-Strings auf einem cshtml aus einer Klasse mit Konstanten

namespace MyProgram.Common 
{ 
    public static class UIStrings 
    { 
      public const string Title = "Hellow World" 
      public const string SubTitle = "This is another string. Please click on '<a href=\"/Home/Status\" target=\"_blank">Here</a>'" 
    } 
} 

Und dann auf meinem Index.csthml habe ich den folgenden Code:

<label id="title" for="MyTitle">@Myprogram.Common.UiStrings.Title </label> 
<label id="title" for="SubTitle">@Myprogram.Common.UiStrings.SubTitle </label> 

Die Titel rendert, aber der Link, den ich im Untertitel definiert habe, wird nicht als Link, sondern als String selbst dargestellt.

Gibt es eine Möglichkeit, dies zu tun? Ich möchte vermeiden, die Zeichenketten in der cshtml Datei fest zu kodieren ...

Antwort

2

Benutzer Html.Raw

<label id="title" for="MyTitle">@Myprogram.Common.UiStrings.Title </label> 
<label id="title" for="SubTitle">@Html.Raw(Myprogram.Common.UiStrings.SubTitle) </label> 
+0

Das hat wie ein Zauber funktioniert! – user3587624

0

Nach was Sie suchen, ist die HTML decode Funktion. MSDN Dadurch wird der Browser gezwungen, die Ausgabe als HTML und nicht als Zeichenfolge zu interpretieren.

Hoffe, das hilft!

+0

Vielen Dank für die Hilfe! Ich habe es versucht, aber es schien nicht für mich zu funktionieren. Ich habe die Html.Raw-Funktion verwendet und trotzdem gearbeitet. – user3587624

Verwandte Themen