给定以下两个定义的路线:
routes.MapRoute(name: "CityCategoryPage", url: "{city}-{state}/{categoryName}/__c/", defaults: new { controller = "Home", action = "GeoSubCategories" });
routes.MapRoute(name: "CityStateCategoryResults", url: "{city}-{state}/{categoryName}/{searchTerm}/{pageNumber}/{pageSize}", defaults: new { controller = "Results", action = "SearchCityStateCategory", pageNumber = UrlParameter.Optional, pageSize = UrlParameter.Optional });
如果我删除第二条路线,我会得到在主页上看到结果的预期操作。但是,由于存在第二条路线,我总是被转发到结果页面。
我知道为什么会发生这种情况:“_ c”仍然被视为一个可选参数,它与第二条路线的可选条件相匹配,但不知道如何让它工作。我不希望将“ _c”附加到 URL - 还想知道是否有其他方法解决这个问题?
谢谢。