2011-12-14 26 views
0

我正在學習MVC,面對這個挑戰,我無法弄清楚如何。當我剛開始時,我對這樣的URL感到滿意:ASP.NET MVC - 類似目錄的URL

http://www.domain.com/stories/1 

其中1是數據庫中一個故事的ID。

於是我決定把章節每個故事,讀每一章我用這樣的URL:

http://www.domain.com/chapters/1 

其中1是數據庫章的ID。

現在,我希望讀者看到的是他們正在閱讀的故事的ID,這是我的理想網址:

http://www.domain.com/stories/1/chapters/2 

但我怎麼能做到這一點?

在此先感謝。

+0

您可以使用建議的方法(映射路徑)或可能使用強制項目中的代碼組織的區域(其中會引入額外的映射路線)。 – 2011-12-14 05:50:26

回答

2

你在找什麼是MapRoute。

+0

恐怕沒有榜樣我就無法學習。你能給我一個MapRoute的例子嗎?我認爲使用它而不是把它放在QueryString中更合適。 – dpp 2011-12-14 03:59:47

1

您可以使用兩種不同的方法實現它。

方法1.(測試)

如果在故事cotroller想,你要創建一個路線圖是這樣

routes.MapRoute(
      "story-with-chapter", // Route name 
      "stories/{storyid}/chapters/{chapterId}", // URL with parameters 
      new { controller = "stories", action = "chapters"} // Parameter defaults 
     ); 

和你的行動應該是這樣的

public ActionResult Chapters(int storyid,int chapterId) 
{ 


    return View(); 
}