我有一个路由规则:
routes.MapRoute("HotToursPage",
"HotTours/{countryTo}/{resort}/{param1}/{param2}/{param3}/{param4}/{param5}",
new
{
controller = "HotTours",
action = "Index",
countryTo = UrlParameter.Optional,
resort = UrlParameter.Optional,
param1 = UrlParameter.Optional,
param2 = UrlParameter.Optional,
param3 = UrlParameter.Optional,
param4 = UrlParameter.Optional,
param5 = UrlParameter.Optional
}
);
在我的代码中:
var dictionary = new RouteValueDictionary();
aaa.Add("countryTo", countryToInfo.Translit);
aaa.Add("resort", resort);
aaa.Add("param1", param1);
string url = urlHelper.Action("Index", "HotTours", dictionary);
如果有param5、param6等,那么
url =/hottours/?countryTo=tailand&resort=bangkok¶m1=price_from_50000,
但如果我删除 param5、param6 和其他,那么一切正常:
网址 =/hottours/tailand/曼谷/price_from_50000
为什么如果段数小于 7,一切正常?我需要 9 个段,但 urlHelper 在这种情况下会构建错误的 url。