URL路由文档问题

时间:2010-05-26 20:17:30

标签: asp.net url-routing

我正在阅读How to: Define Routes for Web Forms Applications处的网址路由,这个例子中我有些不明白。如果你看下面提供的例子,

routes.MapPageRoute("", "SalesReport/{locale}/{year}/{*queryvalues}", "~/sales.aspx");

具体在

"SalesReport/{locale}/{year}/{*queryvalues}"

为什么查询值前面有一个星号,而语言环境和年份没有?

1 个答案:

答案 0 :(得分:0)

*表示“catch all”参数,它基本上与请求的URL中的其他所有内容相匹配。

URL中“year”参数之后的所有内容都将被转储到queryvalues参数中。例如,URL

http://whatever/SalesReport/canada/1999/x=1

将为您提供一个填充了"x=1"的queryvalues变量。但它也会匹配网址

http://whatever/SalesReport/canada/1999/x=1/y=2/z=3

和查询值将填充"x=1/y=2/z=3"

您的路线中只能有一个全能参数,而且必须是最终参数。