【问题标题】:Dynamic Routing in ASP.NET MVC 3ASP.NET MVC 3 中的动态路由
【发布时间】:2012-07-23 12:08:55
【问题描述】:

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

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

  • 技术故事
  • GameGeek
  • 我的故事

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

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

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

我知道需要对路由进行一些处理,但刚接触 MVC 似乎并没有得到它。请有人指导我。

【问题讨论】:

    标签: asp.net-mvc-3 asp.net-mvc-routing


    【解决方案1】:

    将此路由添加到您的默认路由之上:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 2011-08-11
      • 1970-01-01
      • 2011-02-01
      • 2011-01-07
      • 1970-01-01
      相关资源
      最近更新 更多