2016-07-16 9 views
1

Ich bekomme etwas dynamisches HTML von einem Server, den ich in einen iframe setzen möchte. Dies funktioniert.?.NET MVC/Javascript Escape einfache Anführungszeichen von dynamischem HTML

document.getElementById('iframe').contentWindow.document.write('@Html.Raw(Data)'); 

Das Problem ist, dass die Daten (die HTML, die ich empfange) enthalten "und s rund um die HTML-Daten‚ die mit meinem in Konflikt geraten wird‘eine Möglichkeit, dies zu lösen

Antwort

1

löste ich das selbst ich @Html.JavaScriptStringEncode verwendet :)

1

eine zuverlässige Art und Weise Werte in JavaScript in einer Razor Ansicht zu kodieren ist Json.Encode() zu verwenden:.

document.getElementById('iframe') 
    .contentWindow.document.write(@Html.Raw(Json.Encode(Data))); 

Beachten Sie, dass es keine ' um den Wert gibt, da Json.Encode() ein gültiges JavaScript-Literal erstellt.

Verwandte Themen