我导航到一个ID为10.000的“详细信息”页面,如上图所示。
在这个页面上,我有一个后退按钮(法语名为'retour')。
我需要格式化此按钮的URL以导航回搜索页面。
我有一个填充了标准的对象(上图)。如您所见,IdAffaire为空。
使用helper.Action方法格式化URL时,但,初始化IdAffaire,并从页面的URL中检索到值10.000!这是路由系统的行为。
“路由系统热衷于对路由进行匹配,以至于它将重用来自传入URL的段变量值。”
这种行为对我来说是个问题。我希望你知道我的意思,很难解释。
非常感谢任何帮助。
编辑:这是导致问题的路线:
routes.MapRoute(
"Affaire Detail", // Route name
"{controller}/Detail/{IdAffaire}", // URL with parameters
new { action = "Detail" }, // Parameter defaults
new { controller = "Affaire" } // Contraints
);
答案 0 :(得分:1)
这是默认行为,是设计使然。您可以通过显式设置值来解决此问题:
helper.Action("SearchAffaires", "Affaire", new {
IdAffaire = "",
page = sessionWrapper.SearchCriteriaAffaire.Page,
pageSize = sessionWrapper.SearchCriteriaAffaire.PageSize,
// pass any other parameter that your SearchAffaires action might require
})