当我在asp.net core 5中使用以下命令时
return RedirectToAction("Index", "SystemUsersManagement", new { area = "admin" });它不能正常工作并获取Status Code: 404; Not Found Error。和Area go作为查询字符串,如下所示
https://localhost:44322/SystemUsersManagement/Index?area=admin哪里错了。
我的控制器:
[Area("Admin")]
public class SystemUsersManagementController : Controller
{
public ActionResult Save()
{
//do something
return RedirectToAction("Index", "SystemUsersManagement", new { area = "admin" });
}
}我的创业之路:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areas",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
);
routes.MapRoute(
name: "Default",
template: "{controller}/{action}/{id?}",
defaults: new { controller = "Home", action = "Login" }
);
routes.MapRoute("DefaultApiWithId", "Api/{controller}/{id?}");
routes.MapRoute("DefaultApiWithAction", "Api/{controller}/{action}");
routes.MapRoute("DefaultApiGet", "Api/{controller}", new { action = "Get" });
routes.MapRoute("DefaultApiPost", "Api/{controller}", new { action = "Post" });
});也是在ConfigureService中。。
services.AddMvc(option=>option.EnableEndpointRouting=false).AddJsonOptions(options => {
options.JsonSerializerOptions.PropertyNameCaseInsensitive = true;
options.JsonSerializerOptions.PropertyNamingPolicy = null;
});发布于 2021-06-16 09:34:38
确保在控制器中添加[Area]属性,如下所示:
[Area("Admin")]
public class SystemUsersManagementController : Controller
{
public ActionResult Index()
{
return View();
}
}项目结构应如下所示:

https://stackoverflow.com/questions/67992518
复制相似问题