【问题标题】:How do I configure MVC 4 razor routing to hide the Multiple controllers name?如何配置 MVC 4 剃须刀路由以隐藏多个控制器名称?
【发布时间】:2017-01-02 18:44:54
【问题描述】:
我想通过路由隐藏下面的多个控制器名称
Homecontroller、Admincontroller、Usercontroller
这对于我想要根的每个控制器,以便隐藏控制器文件夹
网页浏览器。所以用户只能看到这样的操作
- www.domain.com/Login
- www.domain.com/AmdinDashboard
- www.domain.com/UserDashboard
如何隐藏多个控制器?
【问题讨论】:
标签:
c#
asp.net
asp.net-mvc-4
razor
【解决方案1】:
这样做的一种方法是在 RouteConfig.cs 中为 www.domain.com/Login、www.domain.com/AmdinDashboard 和 www.domain.com/UserDashboard 中的每一个定义路由。
假设 www.domain.com/Login 您可以在路由配置中添加地图,如下所示:
routes.MapRoute(
name: "Login",
url: "Login",
defaults: new { controller = "Home", action = "Login", id = UrlParameter.Optional }
);
当请求 url www.domain.com/Login 时,这会将请求发送到控制器主页和操作登录。
【解决方案2】:
使用属性路由 - 只需添加
[Route("Login")]
public ActionResult Login()
您还需要确保已将以下行添加到您的 RouteConfig.cs
routes.MapMvcAttributeRoutes();