Asp.net mvc ASP.NET路由值不与映射的路由混合
我绘制了这条路线图:Asp.net mvc ASP.NET路由值不与映射的路由混合,asp.net-mvc,asp.net-mvc-3,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", n
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"});
重定向到此URL:localhost/Users/someUser
相反,它会将我返回到:
localhost/Users?username=someUser
如果您定义了专用路由,那么应该使用重定向路由
return RedirectToRoute("SingleUser", new { username = "someUser" });
发生的情况是MVC正在退回到默认路由(“{controller}/{action}”)
未定义专用路由时,请使用重定向到操作
使用ActionLink
和RouteLink
@Lol-nice生成链接也是如此。但没有徽章。:)