我們有一個現有的經典ASP內聯網,由數百頁組成。它的目錄結構看起來像這樣...經典ASP內聯網和新ASP.NET應用程序
/root
app_1
app_2
...
img
js
style
很明顯,app_1等在實際目錄結構中有更好的名稱。
儘管許多應用程序具有不同的行爲,但它們都是同一個Intranet的一部分,因此通過/ style包含樣式表,通過/ img包含樣式表和通過/ js包含客戶端腳本來共享通用外觀。
當我想在ASP.NET中添加一個Intranet應用程序時,麻煩(至少對我來說)來了。
最後,我想這樣的結構:
/root
app_1
app_2
dotnetapp_1
dotnetapp_2
...
img
js
style
在我看來,那ASP.NET「應用程序」喜歡把自己的從周圍的一切獨立的(這可能只是我的理解他們是如何)。你在Visual Studio中創建一個新的「項目」,就像你有一個新的「根」在我想要使用的實際的根之下。就像這個新的應用程序是一個獨立的,具有自己的圖像和風格以及什麼的應用程序。但是,我希望它成爲現有Intranet的子部分。
最終,我希望能夠將我的整個經典ASP Intranet作爲「根」,並擁有仍然可以訪問/ style和/ img的ASP.NET「子應用程序」,我想ASP.NET對於「將有/ masterpages。
我以前試過這個,但我認爲VS窒息了幾百個經典ASP頁面,當我將現有的Intranet根目錄作爲ASP.NET項目根目錄時,它添加到「項目」中(通過File- > Open-> Web Site)。我很高興編輯使用VS 2008 SP1的現有經典ASP Intranet(我目前使用優秀的Notepad++),因爲我想用VS獲得更多的信息,但我想這不是絕對必要的。
我也嘗試將每個新的ASP.NET應用程序作爲一個應用程序來處理,使/ dotnetapp_1目錄成爲應用程序的「根」(同樣,通過VS2008中的File-> Open-> Web Site) 。然而,當我嘗試引用/ masterpages時,VS會抱怨,因爲它「屬於另一個應用程序」。我認爲我通過在每個ASP.NET目錄內添加一個虛擬目錄來指責它,這個虛擬目錄「指向」根目錄/主頁面,但我不確定當我這樣做時,VS能夠愉快地提供所見即所得編輯,而不是製作副本在我添加到Intranet的每個ASP.NET應用程序中的主頁面。我也很有可能訪問.NET MVC框架,所以請提供任何有關該框架的答案。我希望「項目」對於MVC來說不是很重要,而只是一堆文件創建了一個對整個(即內聯網)有貢獻的應用程序。
所以,問題是:如何最好地將ASP.NET應用程序添加到現有的經典ASP Intranet(我不關心經典ASP和ASP.NET之間會話共享的技術問題,只有目錄和項目的結構佈局),並且能夠在Visual Studio 2008 SP1中編輯這些單獨的應用程序,並且通過常見的Intranet外觀和感覺使這些應用程序「相關」
- 請不要只發布答案「使用MasterPages」。我感謝MasterPages。NET的方法共享相同的應用程序中的相關頁面之間的樣式(更可能)。我明白了。我在尋找的是將ASP.NET應用程序儘可能順利地添加到現有Intranet中的最佳方法,這使得編輯每個應用程序變得簡單,並且每個應用程序可以共享(如果可能)Intranet常見樣式。
正如我的問題所述,這是我過去在每個ASP中使用虛擬目錄的方法.NET應用程序目錄引用/ masterpages。凌亂,更不用說有點討厭每次都必須這樣做。我也認爲VS也不是100%高興。也許這是_is_解決方案? – Sprogz 2008-10-01 13:18:59