我們在典型的MVC流程之外使用Razor。我們的Razor視圖是在XSL轉換中通過C#擴展調用的。 Razor視圖的輸出以字符串形式返回到xsl轉換。在某些情況下,我們將Razor視圖的結果捕獲到一個xsl變量中,然後將其傳回到我們的模型中,作爲另一個Razor視圖中的數據使用。當發生這種情況時,我們最終將第一個視圖進行雙重編碼,一次由Razor進行,第二次通過xsl轉換進行編碼。我們需要能夠運行Razor而不需要對輸出進行編碼。如何禁用整個剃鬚刀視圖的HTML編碼
這可能嗎?我們將如何去做呢?
不是完整的答案,但是你可以使用@(新HtmlString(Model.Something))或@ Html.Raw(Model.Something)來繞過編碼。 – jhexp 2011-01-11 17:26:11
謝謝。我很喜歡使用視圖中可用的編碼功能。在這種情況下,我將視圖引擎的輸出返回到另一個進程,並且需要阻止引擎在整個視圖上執行的編碼。它不僅僅是在視圖中嵌入一些編碼數據的問題。我明白這不是一個標準的實現。在我們的案例中,我們有一個遺留系統,它具有很多向後兼容性約束,我們正在嘗試實現現代化。如果成功,以這種方式使用Razor將允許我們在一兩年內遷移到MVC。感謝您的輸入。 – gidmanma 2011-01-11 17:34:30