当路由匹配到出站网址 ,路由系统将尝试也是从当前请求看值来查找路由的URL模式在每个分段变量的值。 如果有必要,路由系统将传入的URL重用段变量值
摘录来自临Asp.Net MVC 4本书:
路由系统将只在较早URL模式发生比被提供给Html.ActionLink方法的任何参数段变量重用值。 假设我们试图建立一个像这样的链接:
@ Html.ActionLink( “点击我”, “目录”, “目录”,新{颜色= “水族”},NULL)
我们已经提供了色彩值,而不是页面。 但颜色URL模式页面之前出现,因此路由系统不会从输入URL重用值,路径将不匹配。
......我们强烈建议您不要依赖于这种行为和你所有的URL图案中片段变量提供值。 依靠这种行为,你最终作出关于在用户提出请求的顺序假设
注:该摘录指的是被定义为路径:
routes.MapRoute("MyRoute", "{controller}/{action}/{color}/{page}");
一种)
路由系统将重用仅适用于前面URL模式发生比被提供给Html.ActionLink方法的任何参数段变量的值
如果路由系统还重用值比提供给参数的URL模式后发生的段变量什么可能出问题Html.ActionLink
?
b)
我们强烈建议您不要依赖于这种行为和你所有的URL图案中片段变量提供值。 依靠这种行为,你最终作出关于在用户提出请求的顺序假设
我不明白怎么不是所有段变量提供值转换成作出关于在用户提出请求的顺序假设?!
非常感激