0

我正在开发一个管理面板,并创建了一个名为“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 管理列出用户、添加新用户等。

当我尝试访问用户列表时,url 看起来像 http://{mydomain}/Admin/User/List/ 这是非常好看的 url。但是当我尝试为新管理员访问登录时,网址将如下所示:http://{mydomain}/Admin/Index/Signin/

但我不喜欢第二个网址。我可以访问像 http://{mydomain}/Admin/Signin/ 这样的索引控制器,而其他像第一个一样。

您将如何处理这种情况?我真的很想以正确的方式做到这一点

4

1 回答 1

1

对于您的登录网址,如果您在 Indexcontroller 中设置了登录操作,请在“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" })
于 2013-05-09T13:43:30.813 回答