MVC4 - 如何将IPagedList模型传递给控制器

时间:2014-10-18 13:00:29

标签: .net asp.net-mvc asp.net-mvc-4 model-view-controller paging

分页时我正在调用名为RentalSearchResults

的动作

,如

@Html.PagedListPager(Model, page => Url.Action("RentalSearchResults", new { page } ))

控制器中传递的模型为空白

这个动作应该是这样吗?

public ActionResult RentalSearchResults(IPagedList<Mode> model)
{

}

2 个答案:

答案 0 :(得分:1)

实际上,您只是将页面参数传递给控制器​​。

public ActionResult RentalSearchResults(int? page)
{

}

如果您想要传递任何其他参数,您应该这样做:

@Html.PagedListPager(Model, 
    page => Url.Action("RentalSearchResults", 
    new 
    { 
       page,
       parameter1 = value1,
       parameter2 = value2
    }))

控制器:

public ActionResult RentalSearchResults(int? page, string parameter1, string parameter2)
{

}

答案 1 :(得分:0)

您可以创建一个PagerData类并为其编写模型绑定器

public class PagerData
{
  public int pageNumber{get;set;}
   //Add other properties
}

public class HomeCustomDataBinder : DefaultModelBinder
{

    public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
      //TODO
    }

public ActionResult RentalSearchResults(PagerData pagerModel)
{

}