Я также столкнулся с этой проблемой при переходе нашего проекта на новый движок Razor. Подход, который я выбрал, был немного другим, потому что мы должны были генерировать данные JSON из C # и хотели выводить их после загрузки страницы.
В конечном итоге я реализовал RawView, который был параллельным View внутри файлов cshtml. По сути, чтобы получить необработанную строку,
@(new HtmlString(View.Foo))
// became
@RawView.Foo
Это требует нескольких изменений в макете проекта, поэтому я просто написал в блоге об этом здесь . Короче говоря, это потребовало дублирования реализации DynamicViewDataDictionary MVC и нового WebViewPage, который содержит RawView. Я также пошел дальше и реализовал оператор индекса в RawView, чтобы учесть
@RawView["Foo"]
В случае, если кому-то нужно перебрать данные с помощью списка ключей.
Читая комментарий медсестры, возможно, было бы лучше, если бы я назвал это как литерал вместо RawView.