2011-10-13 85 views
59

que estoy tratando de pasar un elemento de formulario en una vista MVC3 utilizando el Viewbag y simplemente escribir el código HTML de la página ...¿Cómo se renderiza HTML desde el Viewbag usando MVC3 Razor

En el regulador:

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

en vista (sé que podría utilizar un ayudante para la forma):

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

Esto hace que el myData como texto en el HTML es decir:

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

Así que mi pregunta es ¿cómo puedo obtener la maquinilla de afeitar para hacer el equivalente de más edad:

<%= myData %> 

y no reemplaza los <>

Gracias Paul

Respuesta

153

Use @Html.Raw(ViewBag.Mydata).

+0

Muchas gracias – Sunrise

+2

De nada :) Ahora marque una de estas respuestas como aceptada. :) –

+1

mira quién está aquí, gracias, hombre :) – animaonline

20

Esto debería hacer el trabajo

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

MSDN: T su método ajusta el marcado HTML utilizando la clase IHtmlString, que representa HTML sin codificar.

Debe tener cuidado al aceptar y mostrar HTML no codificado.

+1

Muchas gracias. El HTML será un cifrado previo al post del procesador de pagos, por lo que debería estar bien. Gracias – Sunrise

Cuestiones relacionadas