欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET MVC 4使用PagedList.Mvc分页的实现代码

程序员文章站 2022-05-26 09:39:07
asp.net mvc中进行分页的方式有多种,在nuget上有提供使用pagedlist、pagedlist.mvc进行分页。 在安装引用pagedlist.mvc的...

asp.net mvc中进行分页的方式有多种,在nuget上有提供使用pagedlist、pagedlist.mvc进行分页。

ASP.NET MVC 4使用PagedList.Mvc分页的实现代码

在安装引用pagedlist.mvc的同时会安装引用pagedlist。

复制代码 代码如下:

 @html.pagedlistpager((pagedlist.ipagedlist<sampleinfo>)viewbag.models, page => url.action("index", new { page, keyword = request["keyword"], datemin = request["datemin"], datemax = request["datemax"] }))

搜索触发事件:

 <input type="text" id="datemin" class="input-text wdate" style="width:60px;" value="@request["datemin"]">
 <input type="text" id="datemax" class="input-text wdate" style="width:60px;" value="@request["datemax"]">
 <input type="text" class="input-text" style="width:250px" placeholder="输入关键词" id="keyword" name="" value="@request["keyword"]">
 <button type="submit" class="btn btn-success" id="" name="" onclick="search()"><i class="icon-search"></i> 搜索</button>
 <script>
 function search() {
  var url = "?type=1";
  if ($("#keyword").val() != "") {
   url += "&keyword=" + $("#keyword").val();
  }
  if ($("#datemin").val() != "") {
   url += "&datemin=" + $("#datemin").val();
  }
  if ($("#datemax").val() != "") {
   url += "&datemax=" + $("#datemax").val();
  }
  window.location.href = "/admin/sampleinfo/index"+url;
 }
 </script>

后台方法:

iqueryable<sampleinfo> models = db.sampleinfobll.getallentities().where(d => d.isdel == false);
if (!string.isnullorempty(request["keyword"]))
{
string keyword = request["keyword"];
models = models.where(d => d.site_chinese.contains(keyword));
}
if (!string.isnullorempty(request["datemin"]))
{
int datemin = convert.toint32(request["datemin"]);
models = models.where(d => convert.todouble(d.lon_degree) >= datemin);
}
if (!string.isnullorempty(request["datemax"]))
{
int datemax = convert.toint32(request["datemax"]);
models = models.where(d => convert.todouble(d.lat_degree) <= datemax);
}
int page = 1;
if (request["page"] != null)
{
page = convert.toint32(request["page"]);
}
viewbag.modelscount = models.count();
viewbag.models = models.orderby(d => d.sampleinfoid).topagedlist(page, 10);

分页控件样式:

.pagination {
 display: inline-block;
 padding-left: 0;
 margin: 20px 0;
 border-radius: 4px;
}

.pagination > li {
 display: inline;
}

.pagination > li > a,
.pagination > li > span {
 position: relative;
 float: left;
 padding: 6px 12px;
 margin-left: -1px;
 line-height: 1.428571429;
 text-decoration: none;
 background-color: #ffffff;
 border: 1px solid #dddddd;
}

.pagination > li:first-child > a,
.pagination > li:first-child > span {
 margin-left: 0;
 border-bottom-left-radius: 4px;
 border-top-left-radius: 4px;
}

.pagination > li:last-child > a,
.pagination > li:last-child > span {
 border-top-right-radius: 4px;
 border-bottom-right-radius: 4px;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
 background-color: #eeeeee;
}

.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
 z-index: 2;
 color: #ffffff;
 cursor: default;
 background-color: #428bca;
 border-color: #428bca;
}

.pagination > .disabled > span,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
 color: #999999;
 cursor: not-allowed;
 background-color: #ffffff;
 border-color: #dddddd;
}

.pagination-lg > li > a,
.pagination-lg > li > span {
 padding: 10px 16px;
 font-size: 18px;
}

.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
 border-bottom-left-radius: 6px;
 border-top-left-radius: 6px;
}

.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
 border-top-right-radius: 6px;
 border-bottom-right-radius: 6px;
}

.pagination-sm > li > a,
.pagination-sm > li > span {
 padding: 5px 10px;
 font-size: 12px;
}

.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
 border-bottom-left-radius: 3px;
 border-top-left-radius: 3px;
}

.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
 border-top-right-radius: 3px;
 border-bottom-right-radius: 3px;
}

.pager {
 padding-left: 0;
 margin: 20px 0;
 text-align: center;
 list-style: none;
}

.pager:before,
.pager:after {
 display: table;
 content: " ";
}

.pager:after {
 clear: both;
}

.pager:before,
.pager:after {
 display: table;
 content: " ";
}

.pager:after {
 clear: both;
}

.pager li {
 display: inline;
}

.pager li > a,
.pager li > span {
 display: inline-block;
 padding: 5px 14px;
 background-color: #ffffff;
 border: 1px solid #dddddd;
 border-radius: 15px;
}

.pager li > a:hover,
.pager li > a:focus {
 text-decoration: none;
 background-color: #eeeeee;
}

.pager .next > a,
.pager .next > span {
 float: right;
}

.pager .previous > a,
.pager .previous > span {
 float: left;
}

.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
 color: #999999;
 cursor: not-allowed;
 background-color: #ffffff;
}
.pagination-container {
 text-align: center;
}

分页样式效果:

ASP.NET MVC 4使用PagedList.Mvc分页的实现代码

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。