2017-05-02 3 views
1

Ich arbeite an einem MVC-Projekt und übergebe eine Zeichenfolge an die Ansicht über die ViewData. Die Zeichenkette hat einfache Anführungszeichen, doppelte Anführungszeichen und andere Sonderzeichen (um etwas Hintergrund zu geben, folge ich dem store locator Tutorial als Testprojekt, aber benutze Razor anstelle von asp.net.)Javascript ersetzt einfache Anführungszeichen mit & # 39

Sobald die Variable die Javascript Tags, die Sonderzeichen werden in HTML dekodiert. Zum Beispiel:

storeList = [{ title: 'Location # 12', position: new google.maps.LatLng(32.85914441, -96.9444170)},{ title: 'Location # 7', position: new google.maps.LatLng(32.855526, -96.9555080)}].... 

Wenn es enthalten soll:

storeList = [{ title: 'Location # 12', position: new google.maps.LatLng(32.85914441, -96.9444170)},{ title: 'Location # 7', position: new google.maps.LatLng(32.855526, -96.9555080)}] .... 

Ich habe die Lösung auf this question aufgelistet versucht, aber nicht erfolgreich gewesen:

<script type="text/javascript"> 
var storeList = $("<div/>").html(@ViewData["storeList"]).text(); 

Aber ich erhalte eine Fehlermeldung, unabhängig :

"Uncaught SyntaxError: Unexpected token &" 

und startet den Fehler am & # 39:

var storeList = $("<div/>").html([{ title: &#39;Location # 12&#39;, position: ..... 

Jede Hilfe wäre sehr geschätzt. Vielen Dank!

Antwort

2

Verwenden Sie @Html.Raw, um den HTML-Code mit Razor zu überspringen.

+0

Das hat es getan. Ich danke dir sehr! – Irina

1

versuchen Sie Html.Raw(), um die HTML unescaped einzufügen.

Verwandte Themen