2012-07-25 123 views
1

我正在構建一個使用MVC 3和剃鬚刀的博客引擎。在這種情況下,我已經給如用戶的選擇可以有多個博客(類似blogger.com)ASP.NET MVC中的動態路由3

說現在用戶「亞西爾·」有以下3個博客

  • TechStory
  • GameGeek
  • MeMyStory

,所以我希望所有其他用戶可以通過以下URL來訪問這些博客

  • www.domainName.com/blogs/TechStory
  • www.domainName.com/blogs/GameGeek
  • www.domainName.com/blogs/MeMyStory

或多個博客,可以添加更多的,因此這種網址將在未來得到處理。

我知道有些事情需要用路由來完成,但是對於MVC來說是新的東西似乎並沒有得到它。請有人可以指導我。

回答

3

增加您的默認一頂這條路線:

routes.MapRoute(
    "Blog", 
    "Blogs/{blogName}", 
    new { controller = "Blogs", action = "Index" } 
); 

你的控制器看起來就像這樣:

public class BlogsController : Controller 
{ 
    public ActionResult Index(string blogName) 
    { 
     BlogModel model = // find blog by blog name 
     return View(model); 
    } 
} 

此外,還有一個建議:請奇異模式控制器名稱:BlogController代替BlogsController。如果您決定這樣做,請相應地更改URL和路由。

+0

非常感謝,這正是我想要的。 – Yasser 2012-07-25 07:08:23