1

我正在使用 MVC 3 和 razor 构建博客引擎。在这种情况下,我给出了一个用户可以拥有多个博客的选项(类似于 blogger.com)

现在假设用户 'yasser' 有以下 3 个博客

  • 技术故事
  • 游戏极客
  • 我的故事

所以我希望所有其他用户通过以下网址访问这些博客

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

并且可以添加更多博客,因此将来会访问更多此类 url。

我知道路由需要做一些事情,但是对 MVC 新手似乎并没有得到它。请有人指导我。

4

1 回答 1

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 和路由。

于 2012-07-25T05:42:51.127 回答