我已映射此路线:
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
答案 0 :(得分:0)
如果您已定义专门路线,则应使用RedirectToRoute
。
return RedirectToRoute("SingleUser", new { username = "someUser" });
正在发生的事情是MVC正在回归到默认路线(“{controller} / {action}”)。
如果没有定义专门路线,请使用RedirectToAction
。
使用ActionLink
和RouteLink
生成链接也是如此。