me encontré con este problema también al realizar la transición de nuestro proyecto para el nuevo motor de vistas Razor. El enfoque que tomé fue ligeramente diferente porque teníamos que generar datos JSON desde C# y queríamos generarlos al cargar la página.
Lo que finalmente hice fue implementar un RawView que era un paralelo de View dentro de los archivos cshtml. Esencialmente, para obtener una cadena prima,
@(new HtmlString(View.Foo))
// became
@RawView.Foo
Esto requiere algunos cambios en el diseño del proyecto, por lo que acabo de escribir una entrada de blog sobre él here. En resumen, esto requirió una implementación duplicada de DynamicViewDataDictionary de MVC y una nueva WebViewPage que contiene RawView. También fui por delante y aplicado el operador de índice en la RawView para permitir
@RawView["Foo"]
En la remota posibilidad de que alguien necesita para recorrer los datos con una lista de claves.
Al leer el comentario de una enfermera, probablemente hubiera sido mejor si hubiera nombrado esto como un Literal en lugar de RawView.
realidad que deberán ser llenados capaz de usar 'nueva HtmlString()' en MVC 3, así, ya que el tipo de es .NET 4. – marcind
¡De hecho! Sin embargo, al escribir todo eso en una expresión, me gusta MVC uno más. P.ej. @ MvcHtmlString.Create (myString). ¡Preferencia personal! – aolde