wpadłem na ten problem, a także podczas przechodzenia naszego projektu do nowego silnika widoku Razor. Podejście, które podjąłem, było nieco inne, ponieważ musieliśmy wygenerować dane JSON z C# i chcieliśmy wyprowadzić je po załadowaniu strony.
Ostatecznie zaimplementowałem RawView, który był równoległy do widoku wewnątrz plików cshtml. Zasadniczo, aby uzyskać surowy ciąg,
@(new HtmlString(View.Foo))
// became
@RawView.Foo
Wymaga to kilka zmian w układzie projektu, więc po prostu pisał się na blogu o tym here. W skrócie wymagało to zduplikowanej implementacji DynamicViewDataDictionary MVC i nowej strony WebViewPage zawierającej RawView. Ja też poszedł do przodu i wdrożone operatora indeksu na RawView aby umożliwić
@RawView["Foo"]
w poza przypadkiem, że ktoś potrzebuje pętli nad danymi z listą kluczy.
Czytanie komentarza anurse, prawdopodobnie byłoby lepiej, gdybym nazwał to literałem zamiast RawView.
Właściwie sould można użyć 'nową HtmlString()' w MVC 3, a także od tego typu to .NET 4. – marcind
Rzeczywiście! Jednak przy wpisywaniu wszystkiego w jednym wyrażeniu lubię MVC jeszcze bardziej. Na przykład. @ MvcHtmlString.Create (myString). Osobiste preferencje! – aolde