我是新来的MVC和URL路由,并且正在寻找一些指导。ASP.NET MVC网址路由问题
我希望能有每个用户的URL,格式为: http://www.example.com/username
所以我增加了以下路线:
routes.MapRoute(
"UserRoute", // Route name
"{username}", // URL
new { controller = "Users", action = "ViewUser", username = UrlParameter.Optional }
);
伟大的工程,如果它是第一路由,但它已经搞乱了默认的{controller}/{action}/{id}
路线。现在,当我尝试访问根页面时,它会尝试使用null参数(或者以“favicon.ico”作为参数)加载我的UsersController“ViewUser”操作。
如果我在默认路由之后放置新路由,MVC会尝试找到名为username
的控制器,并且因为无法找到它而失败。
有没有办法让表格{username}
的网址没有堵塞常规路由系统?我可能可以为我拥有的每个控制器编写自定义路由,但似乎容易出错。
你说得对,路由很容易出错。结账http://mvccoderouting.codeplex.com/如果你想完全忘记路由问题。 – 2011-03-11 13:23:57