2011-07-21 102 views
0

我想用一個ASP.Net解決方案重新設計我的網站,併爲該網站的每個主要區域項目。我想這樣的佈局:尋找設計模式來處理asp.net子項目

主要項目

  • 母版

- 法律聲明項目

---法律主頁(用途主要母版)

--- Legal Sub Page(使用Main母版)

- 行政科項目

---主營管理員(用途主要母版)

---二聯繫(用途主要母版)

---三管理員(使用主母版)

我希望網站能夠工作的方式是,如果主頁面的菜單項被觸發,即使在不同的項目中,子頁面也能夠處理它首先,可能會要求用戶在Master頁面的事件處理之前進行保存。

這樣的樣品嗎?

ASP.Net 2.0或3/3.5很好。 MVC或MVP會爲此工作嗎?

回答

1

MVC或WebForms都會這樣做。但是,您將不得不在文件系統中手動管理這些東西。

使用MVC,有一個區域的概念,但開箱即用,區域必須在同一個項目中。我強烈建議這個MVC。

+0

有沒有什麼好的例子呢?我特別尋找可以在子項目之間共享認證和導航信息的例子。 –

0

如果兩個(或多個)項目需要共享這麼多,他們是否真的需要單獨的項目?

使用MVC3,您可以爲管理員功能設置一個區域設置,它將與網站的其他部分共享相同的登錄憑據。項目結構看起來更像這樣:

Main Project 
|--Areas 
    |--Admin 
    |--Controllers 
    |--Models 
    |--Views 
|--Controllers 
|--Models 
|--Views 
    |--Layout.cshtml 

如果您願意,您甚至可以將「Legal」作爲區域。

要解決您的事件觸發問題,您可以在控制器中使用繼承來確定哪一個將處理特定事件。例如,AdminBaseController可以繼承自主站點BaseController等。