2011-12-14 25 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(); 
}