ASP.NET路由值不会与映射的路由混合在一起

时间:2011-09-21 00:23:19

标签: asp.net-mvc asp.net-mvc-3

我已映射此路线:

routes.MapRoute(
    "SingleUser", // Route name
    "Users/{username}", // URL with parameters
    new {area="", controller = "Users", action = "SingleUser"}, // Parameter defaults
 );

不应该这段代码:

return RedirectToAction("Index", "Users", new {username = "someUser"});

重定向到此网址:localhost/Users/someUser

而是将我返回到:localhost/Users?username=someUser

1 个答案:

答案 0 :(得分:0)

如果您已定义专门路线,则应使用RedirectToRoute

return RedirectToRoute("SingleUser", new { username = "someUser" });

正在发生的事情是MVC正在回归到默认路线(“{controller} / {action}”)。

如果没有定义专门路线,请使用RedirectToAction

使用ActionLinkRouteLink生成链接也是如此。