2008-12-10 23 views
2

我想在我的asp.net mvc web應用程序中使用兩個視圖引擎。 第一個是來自MVCContrib項目的Brail視圖引擎,另一個是用於生成JavaScript代碼的自定義視圖引擎。 但是,我無法配置應用程序使用兩個引擎。我想使用視圖文件擴展名來辨別哪些引擎應該處理請求 - 對抄網引擎 .brail - 以.json - 爲我定製的引擎如何在ASP.NET MVC應用程序中使用多個視圖引擎

當我添加兩個引擎的ViewEngines集合中的Global.asax .cs,系統一直在尋找* .brail視圖,如果沒有找到則拋出異常。它永遠不會查找我的* .json視圖... 它是與ASP.Net mvc框架,與Brail視圖引擎或與我的代碼的問題?應該如何處理?

回答

2

我相信你可以在控制器中改變你的視圖引擎。所以我會擴展你的控制器來擴展選擇一個視圖引擎。

+0

這不是必需的。 ViewEngines已經告訴框架他們可以處理哪些擴展。 – 2008-12-11 14:22:14

3

Like this.

編輯:如果您的自定義視圖引擎不處理*上傳.json,你可能會在你的視圖引擎的錯誤。處理這個問題的最簡單方法是子類型VirtualPathProviderViewEngine,並在構造函數中設置MasterLocationFormats,ViewLocationFormats和PartialViewLocationFormats。查看WebFormViewEngine的源代碼,獲取一個非常簡單的示例。這樣框架代碼可以爲你解決所有問題。

相關問題