3
我遇到了我有默認的MVC路由設置的場景。像這樣。MVC路由參數優先
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
然後導航到URL作爲這樣
domain/controller/action/1234
在這個頁面上,然後我被導航到同一個頁面,但具有一定的事件後,不同的參數。像這樣。
var id = $(this).data("id");
var url = "@Url.Action("action", "controller", new { area = ""})";
var params = $.param({id: id, vrnsearch: true});
var fullUrl = url += "?" + params;
window.location.href = fullUrl;
我注意到,url仍然保持相同的ID在URL和附加參數像這樣。現在
domain/controller/action/1234?id=4321&vrnsearch=true
我的問題是,有沒有辦法來確定優先是否應該從URL或從參數使用值ID。
我實際上已經找到了一個解決我的問題的方法,通過使用下面的代碼,它從url中刪除了id,並使用參數。
@Url.Action("action","controller", new {id = "", area = ""})
但是,只是好奇,如果在參數與網址路由優先。