También encontré este problema al realizar la transición de nuestro proyecto al nuevo motor de vista de 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. Básicamente, para obtener una cadena sin procesar,
@(new HtmlString(View.Foo))
@RawView.Foo
Esto requiere algunos cambios en el diseño del proyecto, así que acabo de escribir una publicación de blog al respecto aquí . En resumen, esto requirió una implementación duplicada del DynamicViewDataDictionary de MVC y una nueva WebViewPage que contiene RawView. También seguí adelante e implementé el operador de índice en RawView para permitir
@RawView["Foo"]
En la remota posibilidad de que alguien necesite recorrer los datos con una lista de claves.
Al leer el comentario de una enfermera, probablemente hubiera sido mejor si hubiera nombrado esto como Literal en lugar de RawView.
new HtmlString()
en MVC 3, ya que ese tipo es .NET 4.