ASP MVC WebGrid呈现分页链接,如
http://host/AnyController/AnyAction?Length=4&page=1
有机会参数化或自定义此
http://host/AnyController/AnyAction/1
更好地符合MVC路由约定?
(不重要:顺便说一句,长度是多余的。如果控制器的Action方法不知道页面长度,那么这就是问题。)
提前致谢
答案 0 :(得分:0)
处理你的默认路由冲突的一种方法就是这样,因为大多数时候你使用路由它会在没有[HttpGet]的情况下点击action方法。你需要做的只是一个GET,每当你对web网格进行排序或分页时,它都会尝试获取数据并点击一个HttpGet Action,这将按如下方式工作:
[HttpGet]
public ActionResult YourActionMethod()
{
return PartialView("YourView",YourModel);
}
最好的部分是,在排序时,请求将发送一个名为" sortBy"的参数。你也可以在这里使用它来决定你想用绑定模型和网格做什么。您可以使用"开发人员工具"来检查排序标题将点击的URL。在您的浏览器中。您可以按照自己的意愿使用此操作,
注意:默认情况下,它所操作的操作方法与控制器名称相同。