web-dev-qa-db-fra.com

Comment rendre le code HTML à partir de Viewbag à l'aide de MVC3 Razor

J'essaie de passer un élément de formulaire dans une vue MVC3 en utilisant Viewbag et d'écrire simplement le code HTML dans la page ...

Dans le contrôleur:

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

En vue (je sais que je pourrais utiliser un assistant pour le formulaire):

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

Cela rend les myData sous forme de texte dans le code HTML, à savoir:

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

Ma question est donc de savoir comment faire en sorte que Razor fasse l’équivalent d’ancien:

<%= myData %>

et non remplacer le <>

Merci paul

64
Sunrise

Utilisez @Html.Raw(ViewBag.Mydata).

170
Yngve B-Nilsen

Cela devrait faire le travail

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

MSDN: cette méthode englobe le balisage HTML à l'aide de la classe IHtmlString, qui rend le code HTML non codé.

Vous devez faire attention à accepter et à afficher du code HTML non codé.

21
user338195