72 Stimmen

Wie rendere ich HTML aus der Viewbag mit MVC3 Razor

Ich versuche, ein Formular-Element in eine MVC3-Ansicht übergeben, indem Sie die Viewbag und schreiben Sie einfach das HTML auf der Seite ...

In der Steuerung:

ViewBag.myData = "<input type=""hidden"" name=""example"" value=""examplevalue"">";

In der Ansicht (ich weiß, ich könnte einen Helfer für das Formular verwenden):

<form action="http://exampleurl/examplepage" method="post" id="example-form">
@ViewBag.myData
<input type="hidden" name="anotherexample" value="anotherexamplevalue" />
</form>

Dies rendert die myData als Text in der HTML-Datei, d.h.:

 &lt;type="hidden" name="example" value="examplevalue"&gt; 

Meine Frage ist also, wie ich Razor dazu bringe, das Äquivalent zu älter zu machen:

<%= myData %>

und nicht das <> ersetzen

Danke Paul

184voto

Yngve B-Nilsen Punkte 9527

使用する @Html.Raw(ViewBag.Mydata) .

22voto

Dies sollte die Aufgabe erfüllen

 @Html.Raw((String)ViewBag.myData)

MSDN: Diese Methode umhüllt HTML-Markup mit Hilfe der Klasse IHtmlString, die unkodiertes HTML wiedergibt.

Sie müssen vorsichtig sein, wenn Sie unverschlüsseltes HTML akzeptieren und anzeigen lassen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X