分页是基于mvcpage的 所以的第一步当然是下载mvcpage.dll
然后导入命名空间:
using Webdiyer.WebControls.Mvc;
前提是要引用dll文件;
下面是源代码:
控制器: public ActionResult Basic(string id) {
PagedList<m_user> list;//这里是dll的方法
ViewBag.count=db.m_user.ToList().Count();//总数
int num = ViewBag.count % 5 == 0 ? ViewBag.count / 5 : ViewBag.count / 5 + 1;//页数
ViewBag.num = num;
if(string.IsNullOrWhiteSpace(id))
{
list=db.m_user.OrderByDescending(a => a.id).ToPagedList(1, 5);
ViewBag.id = 1;
}
else
{
list=db.m_user.OrderByDescending(a => a.id).ToPagedList(int.Parse(id), 5);
ViewBag.id = id;
}
return View(list);
}
视图页面:
切记要导入命名空间
@using Boostrap.Models
@using Webdiyer.WebControls.Mvc
@model PagedList<m_product>//m_product表示你后台查询的表名
<table class="table table-striped">
<caption style="text-align:center;">基本的表格布局</caption>
<thead>
<tr>
<th>id:</th>
<th>邮箱:</th>
<th>密码:</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@item.id</td>
<td>@item.email</td>
<td>@item.pwd</td>
<td>
<a href="../../Home/edio">修改</a>
<a href="../../Home/edio?id=@item.id">删除</a>
</td>
</tr>
}
</tbody>
</table>
<div>
<span style="float:left">共 @ViewBag.count 条数据,当前第 @ViewBag.id 页</span>
<ul class="pagination" style="float:right">
@if (Convert.ToInt32(ViewBag.id)<=1)
{
<li><a href="#" style="">«</a></li>
}
else {
<li><a href="../../Home/Basic?id=@(Convert.ToInt32(ViewBag.id) - 1)" style="">«</a></li>
}
@for (int i = 1; i <=ViewBag.num; i++)
{
<li><a href=".././Home/Basic?id=@i">@i</a></li>
}
@if (Convert.ToInt32(ViewBag.id) >= ViewBag.num)
{
<li><a href="#" style="">«</a></li>
}
else
{
<li><a href="../../Home/Basic?id=@(Convert.ToInt32(ViewBag.id) + 1)" style="">»</a></li>
}
</ul>
</div>
也可以使用控件定义的前台分页实现
@Html.Pager(Model, new PagerOptions { PageIndexParameterName = "id", ContainerTagName = "ul", CssClass = "pagination", CurrentPagerItemWrapperFormatString = "<li class=\"active\"><a href=\"#\">{0}</a>", PagerItemWrapperFormatString = "<li>{0}", Id = "bootstrappager" })
@*PageIndexParameterName = "id"表示后台绑定的pageindex页数,*@