路由正确的方式在.net MVC4
本文关键字:net MVC4 方式 路由 | 更新日期: 2023-09-27 18:12:46
我正在开发一个管理面板,我已经创建了一个名为" admin "的新区域开始。现在在我的adminareregistration。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。但是,当我尝试访问登录一个新的管理员的url将是这样的:http://{mydomain}/Admin/索引/Signin/
但是我不喜欢第二个url。我可以访问索引控制器如http://{mydomain}/Admin/Signin/和其他像第一个。
你会如何处理这种情况?
对于你的Signin url,如果你在Indexcontroller中有一个Signin Action设置,在你的"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" })