MVC路由可以实现(参数)变长的URL规则吗?

asunlife 2013-05-01 01:23:13
想实现下面这样一个路由模式,请各位前辈指点

具体URL可能是以下形式:
① http://localhost/Home/Index
② http://localhost/Home/Index/aaa
③ http://localhost/Home/Index/aaa/bbb
④ http://localhost/Home/Index/aaa/bbb/ccc/ddd

如果要满足上面的URL,路由是不是应该写成

routes.MapRoute(
"Default", // 路由名称
"{controller}/{action}/{id}/{param1}/{param2}/{param3}", // 带有参数的 URL
new { controller = "Home", action = "Index", id = "aaa",param1="bbb", param2="ccc", param3="ddd" } // 参数默认值
);


下面我想实现更智能的路由方式,而不要在路由里写死占位符。
比如按如下规则实现解析URL:
第一个占位符:指定为controller的名称;
第二个占位符:指定为action的名称;
从第三个占位符开始一对为一组,并可以通过Request["aaa"]得到bbb,后面的以此类推。


...全文
256 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
越过越咸 2014-06-03
  • 打赏
  • 举报
回复
query/{queryname}/{*queryvalues}
threenewbee 2013-05-01
  • 打赏
  • 举报
回复
"{controller}/{action}/{id}/{*param}",
吾非大神 2013-05-01
  • 打赏
  • 举报
回复
默认情况下,应该是把controller 和 action 之后的都认为是参数了吧? 路由规则只写 {controller}/{action}
asunlife 2013-05-01
  • 打赏
  • 举报
回复
在 URL 模式中处理可变数量的段 http://msdn.microsoft.com/zh-cn/library/cc668201(v=vs.100).aspx#handling_a_variable_number_of_segments_in_a_url_pattern

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧