【问题标题】:Core 3.0 MVC Area route Not working in RedirectToActionCore 3.0 MVC 区域路由在 RedirectToAction 中不起作用
【发布时间】:2019-12-07 15:50:53
【问题描述】:

在 asp.net core 2.2 MVC 中

return RedirectToAction("Index", "Home", new { Area = "Dashboard" });

正常工作。

但在 Core 3.0 中它不起作用。区域作为查询字符串,如

http://localhost:1876/?Areas=Dashboard

我的配置:

启动类

  1. ConfigureServices方法

    services.AddMvc(option => option.EnableEndpointRouting = false);
    
  2. 配置方法

    app.UseMvc(routes =>
    {
        routes.MapRoute(
               name: "default",
               template: "{controller=Home}/{action=Index}/{id?}");
    
        routes.MapRoute(
               name: "Area",
               template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
    });
    

【问题讨论】:

    标签: c# asp.net-core-mvc asp.net-core-3.0 asp.net-core-routing


    【解决方案1】:

    根据这个issue 2.2 版本的报告,你不需要再使用option.EnableEndpointRouting = false了。另外,您的区域路线配置必须放在第一位,如下所示:

    app.UseMvc(routes =>
    {
       routes.MapRoute(
           name: "Area",
           template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
    
       routes.MapRoute(
           name: "default",
           template: "{controller=Home}/{action=Index}/{id?}");
    
       });
    

    【讨论】:

      猜你喜欢
      • 2021-08-31
      • 2019-03-05
      • 1970-01-01
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-14
      相关资源
      最近更新 更多