简体   繁体   English

核心 3.0 MVC 区域路由在 RedirectToAction 中不起作用

[英]Core 3.0 MVC Area route Not working in RedirectToAction

In asp.net core 2.2 MVC在asp.net core 2.2 MVC中

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

Works properly.工作正常。

But in Core 3.0 it not working.但是在 Core 3.0 中它不起作用。 Area go as a query string like区域作为查询字符串,如

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

My Configuration:我的配置:

Startup Class创业班

  1. ConfigureServices Method配置服务方法

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

    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?}"); });

According to this issue that had been reported for 2.2 version, you don't need to use option.EnableEndpointRouting = false anymore.根据 2.2 版本报告的这个问题,您不再需要使用option.EnableEndpointRouting = false Plus, your area route config must go at first place, like this :另外,您的区域路线配置必须首先进行,如下所示:

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?}");

   });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM