【发布时间】:2010-01-27 17:00:44
【问题描述】:
我为我的行政区域创建了一条特殊路线。我这样做是为了让我的网址看起来更干净,并且避免了我有 2 个同名控制器的问题。
示例:我有一个 UserController 和另一个 AdminUserController 用于应用程序的管理站点。
我不想要这样的 URL:
http://www.example.com/user/...
http://www.example.com/admin/adminuser/...
我希望管理员网址看起来像:
http://www.example.com/admin/user/...
现在为了得到这个 url 结构,我尝试了这个:
我将我的管理控制器命名为:AdminUserController
那么我的路线是这样的:
routes.Add(new Route("admin/Admin{controller}/{action}/{id}", new MvcRouteHandler())
{
Defaults = new RouteValueDictionary(new { controller = "Admin", action = "index", Id=""});
});
这行得通吗? (路线目前不通)
我确保这条路线高于通用路线。
更新
我希望我的所有管理员网址都以 /admin/ 文件夹为前缀,因此:
www.example.com/admin/user
www.example.com/admin/settings
www.example.com/admin/articles
和非管理员是这样的:
www.example.com/user
www.example.com/articles
【问题讨论】:
-
这是解决asp.net mvc路由问题的好工具,haacked.com/archive/2008/03/13/url-routing-debugger.aspx
标签: c# asp.net-mvc routes