• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net中使用pagedlist分页并具有查询功能的实现方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 用pagedlist在项目中做分页已N次了,今天再次用实例来实现一个带查询功能的分页例子。

1、在view代码:

@using PagedList.Mvc
@model BGZS.Models.UserPagedList


<div class="search"> <form method="post" action="/user/index"> <input placeholder="真实姓名" name="realname" /><button class="btnSearch">查询</button> </form> </div> <table class="table table-striped"> <tr> <th> 登录名 </th> <th> 真实姓名 </th> <th>学校</th> <th>年级</th> <th>班级</th> <th>操作</th> </tr> @foreach (var item in Model.list) { <tr data-id="@item.id"> <td> @Html.DisplayFor(modelItem => item.name) </td> <td> @item.realname </td> <td> @item.school </td> <td> @item.stugrade </td> <td>@item.stuclass</td> <td> <a href="javascript:;" class="btnResetPwd">重置密码</a> | <a href="javascript:;" class="btnDel">删除</a> </td> </tr> } </table> @if (Model != null) { <div class="pagedList" style="margin:0 auto;text-align:center"> @Html.PagedListPager(Model.list, page => Url.Action("index", new { page,realname= Model.curUser.realname }), PagedListRenderOptions.Classic) </div> }

上面注意在查询部分的from表单, name属性中指明后台接收的变量。最下方的是分页代码,注意突出显示部分是在分页时传值的变量名realname= Model.curUser.realnameModel.curUser是后台指定的用户User类的当前用户,这个可以在第二步中具体查看,realname与表单中的一致,保证后台能接收到。

2、MVC控制器

        private OnlineTestEntities db = new OnlineTestEntities();
        private const int pagesize = 15;

       
        public ActionResult Index(User userinfo, int page = 1)
        {
            var list = db.Users.ToList();

            if (!string.IsNullOrEmpty(userinfo.realname))
            {
                list = list.Where(x => x.realname.Contains(userinfo.realname)).ToList();
            }
            UserPagedList mylist = new UserPagedList()
            {
                list = list.OrderByDescending(x => x.id).ToPagedList<User>(page, pagesize),
                curUser = userinfo
            };
            return View(mylist);
        }    

注意红色代码, User中有一属性正是第一步中的realname属性,这是查询条件。UserPagedList  类是把分页集合包装的一个类,是自己写的,如下 :

3、 UserPagedList类:

public class UserPagedList
    {
        public User curUser { get; set; }
        public PagedList.IPagedList<User> list { get; set; }
    }

好了,实现完毕。这种实现现在是我经常用的方法。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net中ajax验证用户名是否重复发布时间:2022-07-10
下一篇:
asp.net样式-GridViewCSS的完整样式表发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap