我正在開發一個項目,其中Spark已被用作View引擎,並已決定切換到Razor。使用具有剃刀視圖的Spark主佈局
我已經設法讓Razor和Spark在一個項目中很好地並肩工作。唯一的問題是,當我創建一個Razor視圖時,它顯然不會繼承Spark主佈局的佈局和樣式。
無論如何,我可以做到這一點,而無需創建剃刀複製?
我正在開發一個項目,其中Spark已被用作View引擎,並已決定切換到Razor。使用具有剃刀視圖的Spark主佈局
我已經設法讓Razor和Spark在一個項目中很好地並肩工作。唯一的問題是,當我創建一個Razor視圖時,它顯然不會繼承Spark主佈局的佈局和樣式。
無論如何,我可以做到這一點,而無需創建剃刀複製?
這是不可能的,因爲雖然命名可能類似(節/部分等),但實現細節差異很大,因爲Spark和Razor/WebForms背後的渲染系統在策略上有所不同。 Razor使用依賴於ASP.NET本身的渲染來執行解析結果,而Spark使用自己的3遍渲染系統爲視圖生成類文件。
最好的選擇是複製主佈局,轉換爲cshtml,併爲Razor實現所有各種語義,然後將每個視圖轉換爲Razor,然後將其指向新的母版頁。如果在這種情況下複製粘貼選項是低科技並保證可以正常工作,那麼花在嘗試在那裏獲得自定義填充的時間實在不值得。
希望對您有所幫助
Rob
最簡單的(儘管可能需要大量勞動,取決於您掌握的視圖的複雜程度)解決方案是創建一個重複的佈局。
否則,下面是關於混合WebForms和Razor視圖和佈局的博客文章:http://www.hanselman.com/blog/MixingRazorViewsAndWebFormsMasterPagesWithASPNETMVC3.aspx。這幾乎是一個黑客,但它可能會適應與Spark的工作。