我目前正在开发一个 asp.net mvc 4 应用程序,我需要以下类型的 url:
需要路由的url
我遇到的问题是当前 {username} 被视为一项操作,因此为了解决我实现了以下路由的问题,但这意味着每次我想实现一个新操作,或者有一个需要的控制器{username},我必须更新我的路线:
仅显示 Foo 路线
routes.MapRoute("FooSomeAction", "foo/someaction", new { controller = "Food", action = "SomeAction" });
routes.MapRoute("FooDelete", "foo/delete/{id}", new { controller = "Food", action = "Delete" });
routes.MapRoute(
"FooProfile",
"foo/{username}",
new { controller = "Foo", action = "Index", username = "" }
);
// Default route
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
2 个问题
1) 有什么方法可以在不对所有路由进行硬编码的情况下实现上述网址?
2) 处理某人使用的用户名恰好与控制器或操作名称相同的情况的最佳方法是什么?
点网阴影