怎么是生成http://localhost:59786/MyGet/Get/1?pid=1&page=1?应该是http://localhost:59786/MyGet/Get/1/1/1这样的吧? routes.MapRoute(
"MyGet", // Route name
"{controller}/{action}/{pid}/{id}/{page}", // URL with parameters
new { controller = "MyGet", action = "Index", pid = UrlParameter.Optional, id = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
);
"MyGet", // Route name
"{controller}/{action}/{pid}/{id}/{page}", // URL with parameters
new { controller = "MyGet", action = "Index", pid = UrlParameter.Optional, id = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
);
"MyGet", // Route name
"{controller}/{action}/{pid}/{id}/{page}", // URL with parameters
new { controller = "Home", action = "Index", pid = UrlParameter.Optional, id = UrlParameter.Optional, page = UrlParameter.Optional } // Parameter defaults
); routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
但是生成的URL是http://localhost:59786/MyGet/Get/1?pid=1&page=1这样,而不是这样http://localhost:59786/MyGet/Get/1/1/1
如果其他规则在前面会优先匹配其他规则。如果实在因为程序原因不能更换顺序,就建议用RouteLink
<%: Html.RouteLink("带有PID/ID/PAGE", "MyGet", new { controller="MyGet", action="Get", pid = 1, id = 1, page = 1 }) %>