嗨,我想路由到我的AdminLoginController (管理区内)与这个网址siteurl/admin。我在RegisterArea(AreaRegistrationContext context)函数中的代码:
context.MapRoute(
"Admin_1",
"Admin",
new { controller = "AdminLogin", action = "Index" }
);
// the default route map
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller="AdminLogin", action = "Index", id = UrlParameter.Optional}
);但是,我只能通过siteurl/Admin/AdminLogin而不是siteurl/Admin转到我想要的页面。
如果我将自定义路由更改为:
context.MapRoute(
"Admin_1",
"",
new { controller = "AdminLogin", action = "Index" }
);然后我可以转到我想要的页面(AdminLogin索引页),当使用url siteurl/。
如何自定义MapRoute以使用siteurl/Admin转到我的页面?
发布于 2020-10-03 19:35:32
我尝试在一个空白的项目中复制它,只有一个主页和管理员登录控制器,但看起来下面的路由应该可以像预期的那样工作:
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller="AdminLogin", action = "Index", id = UrlParameter.Optional}
);您遇到的问题很可能是由于订单导致的,就好像放在默认路由之后一样,它会失败,因为当提供"siteurl/Admin“时,它将首先匹配默认路由。
https://stackoverflow.com/questions/64182905
复制相似问题