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:
<type="hidden" name="example" value="examplevalue">
Ma question est donc de savoir comment faire en sorte que Razor fasse l’équivalent d’ancien:
<%= myData %>
et non remplacer le <>
Merci paul
Utilisez @Html.Raw(ViewBag.Mydata)
.
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é.