分页时出错,
我的行动:
ProductList(string country, string city, string town, int? pageNumber)
我的路线:
routes.MapRoute(
"ProductList",
"myList/{country}/{city}/{town}/{pageNumber}",
new { controller = "Product", action = "ProductList", country="", city="", town= "", pageNumber = UrlParameter.Optional });
行动链接:
Url.Action("myList","Product", new{ country="Finland",city="",town="",pageNumber=2 })
city = 2 ??
我找到了一个解决方案如下:
Url.Action("myList","Product", new{ country="Finland",city="s",town="n",pageNumber=2 })
HTTP:/ myList中/芬兰/ S / N / 2
ProductList(string country, string city, string town, int? pageNumber)
{
city== "s" ? city = null;
town == "n" ? town= null;
process...
}
是http: / myList中/芬兰/ 2 / myList中/芬兰/赫尔辛基/ 3 / myList / Finland / town / 7
答案 0 :(得分:0)
您不能跳过该路线中的参数。您无法调用http://mylist/2并期望pageNumber取值2.第一段中的值将分配给路径中的第一个变量。因此2被分配给城市变量。您必须确保pageNumber之前的所有参数都获得非空值。
答案 1 :(得分:0)
只有路线定义中的最后一个参数才是可选的。