出于某种原因,我的应用程序在重定向回到returnUrl(通过AccountController登录操作)时一直试图找到Home Controller,即使我已将我的HomeController更改为DashboardController以及更改了我的RouteConfig.cs
namespace application
{
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Dashboard", action = "Index", id = UrlParameter.Optional }
);
}
}
}
当我的应用程序启动时,由于控制器中的 [Authorize]
属性,它会自动重定向到帐户/登录视图 . 但是当我输入Account / Login到我的Url时,returnUrl在GET操作中变得等于"/",并且在登录时我收到404错误页面,因为它无法找到HomeController Index View(实际上是DashboardController Index)视图) .
还需要更改什么才能使我的应用程序不再搜索家庭控制器?
2 回答
我的问题的解决方案是帐户控制器RedirectToLocal操作重定向到Home Controller Index Action,因此我不得不将其更改为Dashboard Controller Index Action .
该控制器操作通常会在“〜/ Views / Dashboard”文件夹中查找文件Index.cshtml . 如果您没有将“〜/ Views / Home”文件夹重命名为“〜/ Views / Dashboard”,则控制器将查找该文件的错误位置,并且无法找到它,因此产生404错误 .