2012-03-06 77 views
0

我有以下網站結構:MVC3結構路線

(科/款/頁/ 1..1)

e.g. 
News/Current 
News/Archive 
News/Current/Pages/23 
News/Archive/Pages/3 

如果用戶進入/新聞我希望他們默認爲新聞/ Current,其他他們看到上面的頁面。 同樣,

Events/Latest 
Events/London 
Events/Latest/Pages/15 
Events/Archive/Pages/4 

我已經得到了新聞事件的控制器的設置,但我怎麼創建行動和Global.asax中MapRoutes來處理我的結構?

我不想爲此使用區域,只需簡單的控制器和操作。每個部分的視圖都會處理一個ViewModel和數據庫中的ContentPage屬性?

因此,每個部分都將有一個視圖,該視圖將填充一個ContentPage PartialView。

感謝

回答

1

你有兩種選擇:

  1. 使用區域
  2. ArchiveLatest這使得部分Pages包含該頁面的參數後創建的路線。

更新

路線:

routes.MapRoute(
    "MySuperRoute", 
    "{controller}/{section1}/{section2}/{id}", 
    new { controller = "Home", action = "TheHandlingAction", id = UrlParameter.Optional } 
); 

和動作:

public ActionResult TheHandlingAction(string section1, string section2, int id) 
{ 
} 
+0

感謝。我不會沿着地區路線走這條路。對於選項2,該「子部分」級別可以有1..n個選項,而不僅僅是存檔+最近的例如像倫敦/卡迪夫等地點。我需要一個MapRoute的例子來處理這些,如果你可以?這就是我遇到困難的理智的控制器行動,以匹配我的路線選項上面?或者我只需要一個Action,因爲它們本質上都是ContentPage? – BarryFanta 2012-03-06 10:17:52

+0

任何簡單的MapRoute示例任何人,爲什麼我試圖實現? – BarryFanta 2012-03-06 12:41:09

+0

目前還不清楚你想通過'Pages/15'實現什麼目標。 – jgauffin 2012-03-06 12:49:05