c# - .NET Core MVC 2.1 中 RedirectToAction 的奇怪行为
问题描述
我在同一个解决方案中有 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 个项目中运行良好,但我必须在第二个项目中添加一个额外的区域参数才能使其工作。
最终,经过一番挖掘和参考这篇 文章,我修改了代码以包含新区域。
{
_logger.LogInformation("User logged in.");
//return LocalRedirect(returnUrl);
return RedirectToAction("Index", "Competitions", new { area = "" });
}
有好心人能解释一下为什么会这样吗?非常感谢!
项目 1 中的 RouteConfig:
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
项目 2 中的 RouteConfig:
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?}");
});
解决方案
推荐阅读
- c# - 更新到最新的adobe软件时如何在c#winform中使用pdf阅读器Activex控件
- wordpress - 在 WordPress 网站标题中使用简码
- php - 奇怪和疯狂的 PHP 错误,清除浏览器历史记录后的页面加载导致脚本多次运行
- flutter - Flutter 如何在将 TextField 聚焦到 CustomScrollView 时停止滚动?
- python - 为什么 curr_node=self.root 会出错?
- java - 在 VS Code 中调试时传递 java 参数
- ruby-on-rails - Bundler 找不到 gem "activemodel" 的兼容版本:
- flutter - Flutter 应用创建帐户并在手机之间发送数据
- javascript - 导航到页面时如何完全刷新页面?
- sql - 获取每月明智的年初至今