Wie rendere ich HTML aus dem Viewbag mit MVC3 Razor

Lesezeit: 1 Minute

Benutzer-Avatar
Sonnenaufgang

Ich versuche, ein Formularelement in eine MVC3-Ansicht zu übergeben, indem ich den Viewbag verwende und einfach den HTML-Code auf die Seite schreibe …

Im Steuergerät:

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

In Sicht (ich weiß, ich könnte einen Helfer für das Formular gebrauchen):

<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 im HTML, dh:

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

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

<%= myData %>

und nicht das <> ersetzen

Danke Paul

Benutzer-Avatar
Yngve B-Nilsen

Verwenden @Html.Raw(ViewBag.Mydata).

Dies sollte die Arbeit erledigen

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

MSDN: Diese Methode umschließt HTML-Markup mithilfe der IHtmlString-Klasse, die uncodiertes HTML rendert.

Sie müssen vorsichtig sein, wenn Sie nicht codiertes HTML akzeptieren und anzeigen.

  • Vielen Dank. Der HTML-Code wird eine Pre-Post-Verschlüsselung des Zahlungsprozessors sein, sollte also in Ordnung sein. Vielen Dank

    – Sonnenaufgang

    13. Oktober 2011 um 15:36 Uhr

1308650cookie-checkWie rendere ich HTML aus dem Viewbag mit MVC3 Razor

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy