代码之家  ›  专栏  ›  技术社区  ›  s15199d

mvc MapController路由/类别名称在这里

  •  0
  • s15199d  · 技术社区  · 1 年前

    In Program.cs 我该怎么写 app.MapControllerRoute 采取 / 到我的HomeController.cs public IActionResult Index() /CategoryNameHere 到我的CategoryController.cs public IActionResult Index(string category) ?

    我的电脑里有现成的路线 程序cs :

    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    
    app.MapControllerRoute(
        name: "category",
        pattern: "WhatGoesHere?",
        defaults: new { controller = "Category", action = "Index" });   
    
    1 回复  |  直到 1 年前
        1
  •  1
  •   Victor    1 年前

    只需将模式定义为 "{category}" :

    app.MapControllerRoute(
        name: "category",
        pattern: "{category}",
        defaults: new { controller = "Category", action = "Index" }); 
    

    这个 category 在模式中,此处与中的参数名称匹配 public IActionResult Index(string category) 行动方法 Category 控制器。

    顺便说一句,使用 Route 属性而不是传统的路由:

    [Route("{category}")]
    public IActionResult Index(string category)
    {
        return View((object)category);
    }
    

    有关更多信息,请参阅: Routing to controller actions in ASP.NET Core