配置了以下路由
routes.MapRoute(
"List",
"Products/List/{Category}_C{CategoryID}_{Keyword}_{CurrentPage}",
new { controller = "Products", action = "List", Keyword = UrlParameter.Optional, CurrentPage = 1 }
);
其中Keyword是搜索关键字,这个可能为空,所以我Keyword = UrlParameter.Optional
但在测试的时候以下地址是无法浏览的,显示404
http://localhost/Products/List/Other-Auto-Parts_C76__1
必须要在Keyword的加上内容
另外我在测试的时候,好像地址中参数与参数之间必须要/分隔,然后可空参数才能起作用!
请问我哪里做的不对??谢谢
------解决方案--------------------------------------------------------
可空的要放最后一个,或者在后面在加一条没有keyword的路由
------解决方案--------------------------------------------------------
要把{keyword}放在{currentpage}后面,不然当keyword为空时路由系统可能会把currentpage的值当作keyword的值
------解决方案--------------------------------------------------------
要设两个路由 一个对应4参数 一个对应3参数