我在 global.asax 中定义了以下路线
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Portal", action = "Index", id = UrlParameter.Optional }
);
我无法控制用户是使用“/useraccount/edit/1”还是“/useraccount/edit?id=1”访问页面。使用 UrlHelper Action 方法生成 url 时,如果 id 作为查询字符串参数传递,则 id 值不包含在 RouteData 中。
new UrlHelper(helper.ViewContext.RequestContext).Action(
action, helper.ViewContext.RouteData.Values)
我正在寻找一种一致的方式来访问 id 值,无论使用哪个 url 来访问页面,或者自定义 RouteData 对象的初始化,以便它检查 QueryString 是否缺少路由参数并添加它们如果他们被发现。