通過路徑值的參數一致的方式如下路線訪問通過查詢字符串
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