asp.net mvc pagedlist pagedlist.mvc分页

在"程序包管理器控制台"里输入:

安装ef框架: install-package entityframework   

安装分页: install-package pagedlist 

install-package pagedlist.mvc     


controller层代码截图如下:

public ActionResult Index(string searchString, string sortOrder, string currentFilter, int? page)
        {
            ViewBag.CurrentSort = sortOrder;
            ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "name_desc" : "";


            if (searchString != null)
            {
                page = 1;
            }
            else
            {
                searchString = currentFilter;
            }


            ViewBag.CurrentFilter = searchString;


            var Contacts = from c in db.Contacts select c;


            if (!string.IsNullOrEmpty(searchString))
            {
                Contacts = Contacts.Where(s => s.Name.Contains(searchString));
            }


            switch (sortOrder)
            {
                case "name_desc":
                    Contacts = Contacts.OrderByDescending(s => s.Name);
                    break;
                default:  // Name ascending 
                    Contacts = Contacts.OrderBy(s => s.Name);
                    break;
            }


            int pageSize = 10;
            int pageNumber = (page ?? 1);
            return View(Contacts.ToPagedList(pageNumber, pageSize));
        }
view层显示代码如下:

@model PagedList.IPagedList<mailList.Models.Contact>
@using PagedList.Mvc;
<link href="~/Content/PagedList.css" rel="stylesheet" type="text/css" />


@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

<p>
    @Html.ActionLink("Create New", "Create")
</p>
@using (Html.BeginForm("Index", "Contacts", FormMethod.Get))
{
    <p>
        姓名:@Html.TextBox("SearchString", ViewBag.CurrentFilter as string) 
        <input type="submit" value="搜索" />
    </p>
}
<table class="table">
    <tr>
        <th>
            @Html.ActionLink("姓名", "Index", new { sortOrder = ViewBag.NameSortParm, currentFilter = ViewBag.CurrentFilter })
        </th>
        <th>
            性别
        </th>
        <th>
            手机号码
        </th>
        <th>
            QQ号码
        </th>
        <th>
            备注
        </th>
        <th>
            操作
        </th>
    </tr>
@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Sex)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.PhoneNum)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.QQ)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Remark)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
            @Html.ActionLink("Details", "Details", new { id=item.ID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.ID })
        </td>
    </tr>
}

</table>

<br />
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount;
@Html.PagedListPager(Model, page => Url.Action("Index",
    new { page, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))


希望看到的自己写一遍代码,并根据个人实际情况改变代码。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值