Ich bin auch auf dieses Problem gestoßen, als ich unser Projekt auf die neue Razor View Engine umgestellt habe. Der Ansatz, den ich gewählt habe, war etwas anders, da wir JSON-Daten aus C # generieren mussten und diese beim Laden der Seite ausgeben wollten.
Was ich schließlich tat, war, eine RawView zu implementieren, die eine Parallele von View in den cshtml-Dateien war. Im Wesentlichen, um eine rohe Zeichenfolge zu erhalten,
@(new HtmlString(View.Foo))
// became
@RawView.Foo
Dies erfordert einige Änderungen an das Projekt - Layout, so dass ich nur eine Blog - Post über sie schrieb nach oben hier . Kurz gesagt, dies erforderte eine doppelte Implementierung des DynamicViewDataDictionary von MVC und eine neue WebViewPage, die RawView enthält. Ich habe auch den Indexoperator in RawView implementiert, um dies zu ermöglichen
@RawView["Foo"]
In dem Fall, dass jemand die Daten mit einer Liste von Schlüsseln durchlaufen muss.
Wenn ich den Kommentar von anurse gelesen hätte, wäre es wahrscheinlich besser gewesen, wenn ich dies als Literal anstelle von RawView bezeichnet hätte.
new HtmlString()
in MVC 3 verwenden können, da dieser Typ .NET 4 ist.