在asp.net核心2.2 MVC中
return RedirectToAction("Index", "Home", new { Area = "Dashboard" });
工作正常。
但是在Core 3.0中,它不起作用。 Area作为查询字符串,例如
http://localhost:1876/?Areas=Dashboard
我的配置:
启动类
ConfigureServices 方法
services.AddMvc(option => option.EnableEndpointRouting = false);
配置方法
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?}");
});
答案 0 :(得分: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?}");
});