Schreiben/ausgeben von HTML-Zeichenfolgen ohne Umschreibung
Habe ich safe/sanitized HTML speichern in einer DB-Tabelle.
Wie kann ich diese HTML-Inhalt, geschrieben in einer Razor-Ansicht?
Es immer entkommt Zeichen wie <
- und kaufmännische und-Zeichen zu &
.
Um Menschen zu retten die lange Geschichte der Diskussion unten -
Um Menschen zu retten wie mich, der versucht, dies zu tun mit anonymen Typen in dynamisch typisierten Ansichten, wo das funktioniert nicht - siehe Antwort, um meine eher spezifische Frage. Obwohl mit diesem Ansatz mit einer stark typisierten Sicht immer noch besser ist, wenn Ihre situation ermöglicht.
@Html.Raw()
Um Menschen zu retten wie mich, der versucht, dies zu tun mit anonymen Typen in dynamisch typisierten Ansichten, wo das funktioniert nicht - siehe Antwort, um meine eher spezifische Frage. Obwohl mit diesem Ansatz mit einer stark typisierten Sicht immer noch besser ist, wenn Ihre situation ermöglicht.
InformationsquelleAutor AGS | 2010-11-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Angenommen, dass Ihr Inhalt in einem string namens
mystring
...Können Sie verwenden:
Alternativ können Sie konvertieren Sie Ihre Zeichenfolge zu
HtmlString
oder jede andere Art implementiert, dassIHtmlString
im Modell oder direkt inline und verwenden Sie regelmäßig@
:Hallo Sergio. Ich bin mit MVC 3 und ich bin mit der Raw-Methode richtig.
Danke für die Antwort! Ich bin immer noch lernen, MVC 3 und dies war entzieht sich mir.
Ich bin mit der neuesten MVC 3 mit
razor
syntax undHtml.Raw
ist definitiv für mich verfügbar.Lorenzo, ich habe aktualisiert, Antwort löschen die Erwähnung des MVC-Beta, wie es war vor einigen Jahren. Fühlen Sie sich frei, rückgängig machen/ändern.
InformationsquelleAutor Lorenzo
In ASP.NET MVC-3 sollten Sie etwas wie das hier tun:
Danke, das ist sehr sauber!
InformationsquelleAutor Tom Chantler
Können Sie
Das war genial für mich, war mit Razor in einem Hangfire-app zum senden von E-Mails...
Html.Raw()
funktioniert dort nicht1 für WriteLiteral
InformationsquelleAutor Andrus
Manchmal kann es schwierig sein, verwenden Sie raw-html. Vor allem, weil der XSS-Sicherheitslücke. Wenn das ist ein Anliegen, aber Sie wollen immer noch, in raw html-Kodieren Sie die unheimlich Teile.
Ergebnisse in
InformationsquelleAutor Travis J
Du kannst dein string in viewdata-in-controller wie diesem :
Und rufen Sie dann diese viewdata in der Ansicht wie diese :
InformationsquelleAutor Ajay
Abgesehen von der Verwendung
@MvcHtmlString.Create(ViewBag.Stuff)
vorgeschlagen von Dommer, ich schlage vor, Sie verwenden auch AntiXSS Bibliothek vorgeschlagen, phill http://haacked.com/archive/2010/04/06/using-antixss-as-the-default-encoder-for-asp-net.aspx
Es kodiert für fast alle möglichen XSS-Angriff-string.
InformationsquelleAutor ZeNo