【发布时间】:2013-08-28 07:13:18
【问题描述】:
我看过这篇文章:MVC Handler for an unknown number of optional parameters,但它适用于 MVC,似乎对我不起作用,因为我收到错误:
A path segment that contains more than one section, such as a literal section or a parameter, cannot contain a catch-all parameter.
我希望能够在 URL 中包含不确定数量的参数,我有以下路线:
RouteCollection.MapPageRoute("ManyParam", "{*params}.html", "~/Default.aspx");
这似乎也触发了上面的错误信息。
如何设置路由以在 Web 表单(不是 MVC)中包含未知数量的参数。
我正在尝试实现以下网址:
www.example.com/some-thing.html
www.example.com/some-thing/else.html
www.example.com/and/some-thing/else.html
www.example.com/1/2/3/4/5/6.html
编辑
当我使用以下内容时它似乎工作:
RouteCollection.MapPageRoute("ManyParam", "{*params}", "~/Default.aspx");
问题在于它不允许 .html 结尾。
【问题讨论】:
-
你能展示你想要的 Url 的样子吗?你的
"{*params}.html"并没有很清楚你想要实现什么...... -
@AlexeiLevenkov - 那会很有用...已添加,谢谢。
-
尝试使用
"{*path}"作为Url 并有某种constraint,最后需要.html,使用MapPageRoute 的5 个参数覆盖 -
@AlexeiLevenkov - 我试过了:
RouteCollection.MapPageRoute("ManyParam", "{*path}.html", "~/Default.aspx");但我得到了错误:A path segment that contains more than one section, such as a literal section or a parameter, cannot contain a catch-all parameter.最后我用.html做错了吗? -
我尝试添加粗略样本作为答案...
标签: c# asp.net routing routes custom-routes