mi sono imbattuto in questo problema così quando si passa il nostro progetto per il nuovo motore di visualizzazione Razor. L'approccio che ho preso era leggermente diverso perché dovevamo generare i dati JSON da C# e volevamo farlo uscire al caricamento della pagina.
Quello che alla fine ho fatto è stato implementare un RawView che era un parallelo di Vista all'interno dei file cshtml. In sostanza, per ottenere una stringa grezzo,
@(new HtmlString(View.Foo))
// became
@RawView.Foo
Ciò richiede alcune modifiche al layout del progetto, così ho appena scritto un post sul blog su di esso here. In breve, ciò richiedeva un'implementazione duplicata di DynamicViewDataDictionary di MVC e una nuova pagina WebView contenente RawView. Sono anche andato avanti e implementato l'operatore indice sul RawView per consentire
@RawView["Foo"]
Nella remota possibilità che qualcuno ha bisogno di un ciclo sui dati con un elenco di chiavi.
Leggendo il commento di un infermiere, probabilmente sarebbe stato meglio se avessi chiamato questo come Letterale anziché RawView.
fonte
2010-08-18 22:21:19
In realtà si sould essere in grado di usare 'nuova HtmlString()' in MVC 3 e da quel tipo è .NET 4. – marcind
Infatti! Tuttavia quando digito tutto ciò in una espressione mi piace l'MVC in più. Per esempio. @ MvcHtmlString.Create (myString). Preferenza personale! – aolde