通过路径值的参数一致的方式如下路线访问通过查询字符串
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Portal", action = "Index", id = UrlParameter.Optional }
);
我无法控制用户是否有访问该页面“/ useraccount /编辑/ 1”或“/ useraccount /编辑?ID = 1”。当使用UrlHelper Action方法生成URL时,如果id作为查询字符串参数传递,则该值不包含在RouteData中。
new UrlHelper(helper.ViewContext.RequestContext).Action(
action, helper.ViewContext.RouteData.Values)
我正在寻找访问的id值,无论是用于访问网页,还是有办法自定义的RouteData对象的初始化该URL的一致的方式,以便它会检查查询字符串缺少路由参数并在找到它们时添加它们。
它看起来像编写自定义路线可以让我通过覆盖GetRouteData添加缺少的值到的RouteData ;我会在测试完成后发布源代码。 – Failwyn