У меня есть 2 проекта в одном решении.При попытке изменить страницу успешного перенаправления входа в систему, я попытался redirectToAction.(Для ясности приведенный ниже код работает для 1 проекта, но не для другого)
if (result.Succeeded)
{
_logger.LogInformation("User logged in.");
//return LocalRedirect(returnUrl);
return RedirectToAction("Index", "ControllerName");
}
Так что это ссылки на логин и перенаправленную ссылку
https://localhost:44343/Identity/Account/Login
https://localhost:44343/ControllerName
Однако, если делать то же самое в другом проекте, это не работает.Это сбивает с толку меня, потому что, насколько я знаю, конфигурации проекта одинаковы.
https://localhost:44343/Identity/Account/Login
https://localhost:44343/Identity/ControllerName
Редактировать: Это проблема. ^ Этоссылается на несуществующую страницу.Каким-то образом это работает нормально в 1 проекте, но мне нужно добавить дополнительный параметр области во 2-м проекте, чтобы он работал.
В конце концов после некоторого копания и ссылки на эту запись , я изменил кодвключить новую область.
{
_logger.LogInformation("User logged in.");
//return LocalRedirect(returnUrl);
return RedirectToAction("Index", "Competitions", new { area = "" });
}
Может ли какая-то добрая душа объяснить, почему это происходит?Большое спасибо!
RouteConfig в проекте 1:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
RouteConfig в проекте 2:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "areaRoute",
template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});