Projemizi yeni Razor görünüm motoruna geçirirken de bu sorunla karşılaştım. Benim aldığım yaklaşım biraz farklıydı çünkü C # 'dan JSON verisi oluşturmalıydık ve sayfa yüklendikten sonra bu veriyi çıkarmak istiyorduk.
Sonunda yaptığım şey, cshtml dosyalarının içinde View'e paralel bir RawView uygulamaktı. Esasen, ham bir dize elde etmek için,
@(new HtmlString(View.Foo))
// became
@RawView.Foo
Bu, proje düzeninde birkaç değişiklik gerektirir, bu yüzden burada bununla ilgili bir blog yazısı yazdım . Kısacası, bu, MVC'nin DynamicViewDataDictionary ve RawView içeren yeni bir WebViewPage uygulamasının yinelenen bir uygulamasını gerektirdi. Ayrıca devam ettim ve indeks operatörünü RawView'da uyguladım.
@RawView["Foo"]
Şans eseri, birisinin veriler üzerinde bir anahtar listesi ile döngü yapması gerekir.
Anurse'nin yorumunu okurken, bunu RawView yerine Literal olarak adlandırsaydım muhtemelen daha iyi olurdu.
new HtmlString()
bu tür .NET 4 olduğu için MVC 3'te de kullanabilmelisiniz .