我正在开发一个管理面板,我已经创建了一个名为“Admin”的新区域。现在在我的AdminAreaRegistration.cs文件中,路由就像这样
context.MapRoute(
"Admin_default",
"Admin/{controller}/{action}/{id}",
new { controller = "Index", action = "Index", id = UrlParameter.Optional }
);
所以我可以通过http:// {mydomain} / Admin /
访问管理面板我有2个控制器。 IndexController管理登录,登录等 UserController管理列表用户,添加新用户等
当我尝试访问用户列表时,网址将显示为http:// {mydomain} / Admin / User / List /这是非常好看的网址。但是当我尝试访问Signin以获得新的管理员时,网址将如下所示: http:// {mydomain} / Admin / Index / Signin /
但我不喜欢第二个网址。我可以像http:// {mydomain} / Admin / Signin /那样访问索引控制器,其他人就像第一个一样。
你会如何处理这种情况?我真的想以正确的方式做到这一点
答案 0 :(得分:1)
对于您的Signin网址,如果您在Indexcontroller中设置了Signin操作设置,请在“Admin_default”路由之前设置路由,如下所示:
context.MapRoute(
"Admin_Signin",
"Admin/SignIn",
new { controller = "Index", action = "Signin" }
);
然后,您可以使用ActionLinks链接到此操作,如下所示:
@Html.ActionLink("Sign-in here", "Signin", new { controller = "Index", action = "Signin" })