我對Asp.net MVC3三個Web項目:尋找其他地點MVC意見
Portal.Web - >通用控制器和模型
Portal.WebsiteCustom - >自定義網站1
Portal.WebsiteCustom2 - >自定義網站2
這兩個自定義網站都使用Portal.Web的控制器和模型。
現在我想在這個項目上添加常見的視圖,並將MVC設置爲在常見視圖的Portal.Web項目上查找。
這可能嗎?
我怎麼能這樣做?
謝謝。
我對Asp.net MVC3三個Web項目:尋找其他地點MVC意見
Portal.Web - >通用控制器和模型
Portal.WebsiteCustom - >自定義網站1
Portal.WebsiteCustom2 - >自定義網站2
這兩個自定義網站都使用Portal.Web的控制器和模型。
現在我想在這個項目上添加常見的視圖,並將MVC設置爲在常見視圖的Portal.Web項目上查找。
這可能嗎?
我怎麼能這樣做?
謝謝。
你可以編寫你自己的視圖引擎,實現IViewEngine
,它有一個方法來查找搜索視圖的位置。您還可以擴展VirtualPathProviderViewEngine
並覆蓋位置以添加自定義文件位置以查找視圖。
這樣的事情的示例代碼位於this Stack Overflow answer。
這可能嗎?
是的。
我該如何實現這一目標?
您將不得不將這些視圖作爲資源嵌入到程序集中,然後在您的客戶端MVC項目中引用該程序集。接下來,您將不得不編寫一個自定義虛擬路徑提供程序,該提供程序能夠將這些視圖作爲嵌入式資源進行檢索,而不是在當前項目文件夾(默認進程)中查找它們。
您可以使用Razor Generator package
,它允許您simplify the process
,因爲它已經爲您提供了您不需要手動編寫的自定義虛擬提供程序。這裏有一個outdated article,你也可以檢查。