问个MVC地址路由的问题

jiangdalai 2012-05-17 11:53:05
配置了以下路由
routes.MapRoute(
"List",
"Products/List/{Category}_C{CategoryID}_{Keyword}_{CurrentPage}.html",
new { controller = "Products", action = "List", Keyword = UrlParameter.Optional, CurrentPage = 1 }
);

其中Keyword是搜索关键字,这个可能为空,所以我Keyword = UrlParameter.Optional

但在测试的时候以下地址是无法浏览的,显示404

http://localhost/Products/List/Other-Auto-Parts_C76__1.html
必须要在Keyword的加上内容

另外我在测试的时候,好像地址中参数与参数之间必须要/分隔,然后可空参数才能起作用!

请问我哪里做的不对??谢谢
...全文
110 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangdalai 2012-05-18
  • 打赏
  • 举报
回复
谢了,各位,我放弃在一个路由里解决了。。。
newxdlysk 2012-05-18
  • 打赏
  • 举报
回复
可空的要放最后一个,或者在后面在加一条没有keyword的路由
tptptp00 2012-05-18
  • 打赏
  • 举报
回复
要设两个路由 一个对应4参数 一个对应3参数
zh6335901 2012-05-18
  • 打赏
  • 举报
回复
要把{keyword}放在{currentpage}后面,不然当keyword为空时路由系统可能会把currentpage的值当作keyword的值
jiangdalai 2012-05-18
  • 打赏
  • 举报
回复
谢谢

我曾经把最后两个参数都设成可空的,但还是不行,这是什么原因

62,268

社区成员

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

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

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

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