Я також зіткнувся з цією проблемою при переході нашого проекту на новий механізм подання Razor. Підхід, який я застосував, був дещо іншим, оскільки нам довелося генерувати дані JSON із C # і хотіли виводити їх при завантаженні сторінки.
Що я врешті-решт зробив, це реалізував RawView, який був паралеллю перегляду всередині файлів cshtml. По суті, щоб отримати сирий рядок,
@(new HtmlString(View.Foo))
// became
@RawView.Foo
Це вимагає декількох змін у макеті проекту, тому я щойно написав про це в блозі тут . Коротше кажучи, для цього потрібна була дублікат реалізації DynamicViewDataDictionary MVC та нової WebViewPage, що містить RawView. Я також пішов і застосував оператор індексу в RawView, щоб дозволити
@RawView["Foo"]
У випадку, коли комусь потрібно прокрутити дані за допомогою списку ключів.
Читаючи коментар anurse, можливо, було б краще, якби я назвав це як Literal замість RawView.
new HtmlString()
MVC 3, оскільки цей тип є .NET 4.