2011-08-20 39 views
9

我在一個解決方案下構建了幾個不同的asp.net mvc 3 web項目。我希望能夠利用所有這些項目的一些視圖,因爲它們都將在2個或3個不同的頁面上顯示相同的內容(每個應用程序都插入一些自定義內容)。可能跨多個mvc 3項目共享視圖

這可能嗎?

回答

4

我唯一能想到的就是將你的cshtml編譯成一個單獨的程序集(假設你正在使用RAZOR)。請參閱here

+0

這看起來很有希望......謝謝! –

1

一般來說,我還沒有看到很多多項目ASP.NET MVC解決方案的例子。因爲它有點沒道理。它使事情變得複雜,它忽視了areas,它可能被用來獲得相同的體驗,但是更好的選擇多個MVC項目。那麼這3個項目是否有如此之多的共同點,以至於他們真的應該都在一個解決方案中。你實際上有什麼樣的MVC應用程序?他們在做什麼?大多數在線樣本解決方案都是單個MVC項目和多個類庫項目。

現在到了真正的問題..我最近發現自己做了類似的事情,實際上我沒有在一個解決方案中有多個項目,但我有不同的獨立項目,都可以從單一使用視圖獲益,我們可以說「主」項目。我最終爲它創建了Nuget包。實際上,我還將其他內容注入了包(腳本,樣式,圖像等),但您也可以僅將它用於視圖。然後,您只需將該包添加到下一個項目中,並將包中的文件插入到目標項目中。我想說的是,你的包不一定要包含代碼。

我不會在這裏詳述,但你應該看看它。

+4

企業級解決方案通常要求將SOA服務分離到同一產品的不同子域中。在這些情況下,您確實有單獨的共享公共庫的項目,並且可以包含常用佈局。 –