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

问题描述 投票:0回答:2

寻呼时,我调用一个名为

RentalSearchResults

的操作

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

通过的模型在控制器中是空白的

动作应该是这样吗?

public ActionResult RentalSearchResults(IPagedList<Mode> model)
{

}
.net asp.net-mvc asp.net-mvc-4 model-view-controller pagination
2个回答
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)
{

}

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)
{

}
© www.soinside.com 2019 - 2024. All rights reserved.