asp.net MVC: PagedList + View Model

6 篇文章 0 订阅

To pass view model with PagedList:


1. Controller action must use HttpGet and use View Model as action parameter

public ActionResult Index(UserIndexModel model)

2. In the action return the view model with PagingMetaData

model.PagingMetaData = new StaticPagedList<UserIndexItem>(model.Users, model.Page.Value, DEFAULT_PAGE_SIZE, total);

return model;

PagingMetaData is defined on View Model like below:

public IPagedList PagingMetaData { get; set; }


3. In View use the Pager like below to pass data needed back to action by view model:

@Html.PagedListPager(new StaticPagedList<Report.Areas.TIS.Models.UserIndexItem>(Model.Users, Model.PagingMetaData),

page => Url.Action("Index", new RouteValueDictionary() {

{ "Page", page },

{ "FilterName", Model.FilterName },

{ "FilterDateBegin", Model.FilterDateBegin },

{ "FilterDateEnd", Model.FilterDateEnd },

{ "FilterSiteId", Model.FilterSiteId },

{ "FilterPosition", Model.FilterPosition},

{ "FilterUpdated",false} }),

PagedListRenderOptions.Classic)

参考:

http://stackoverflow.com/questions/14258212/mvc-posting-ipagedlist

http://czetsuya-tech.blogspot.co.id/2011/05/mvc3-dynamic-search-paging-using.html#.VkHD8TahfIU

https://github.com/TroyGoode/PagedList

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值