项目分页通用页

首先在需要分页的table 下引入这行代码(引入已经准备好的通用分页)
@Html.Partial("~/Views/Shared/_Pagination.js.cshtml",ViewData)

只需要在控制器设置两个参数

public ActionResult ProjectNode(string flowNodeId,int currentPageIndex = 1)
{
int totalCount;

//在以下方法里做分页操作 主要参数 currentPageIndex totalCount
var result = _projectNodeDomainService.GetProjectNodeList(flowNodeId,currentPageIndex, out totalCount);
ViewBag.allConuts = totalCount;
ViewBag.allPages = totalCount % 10 == 0 ? totalCount / 10 : (totalCount / 10) + 1;
return View(result.Results);
}

以下是分页代码

<div class="modal-footer no-margin-top" style="width: 100%;">
@{
int pageTotal = Convert.ToInt32(Request["pageTotal"]);
int dataCount = 0;
string toolName = "tool.Paging";
if (ViewData["toolName"] != null)
{
toolName = ViewData["toolName"].ToString() + "";
}
if (ViewData["pageTotal"] != null)
{
pageTotal = Convert.ToInt32(ViewData["pageTotal"]);
}
if (ViewData["dataCount"] != null)
{
dataCount = Convert.ToInt32(ViewData["dataCount"]);
}
if (Request["dataCount"] != null)
{
dataCount = Convert.ToInt32(Request["dataCount"]);

}
int currentPageIndex = Convert.ToInt32(Request["currentPageIndex"]);
if (pageTotal <= 1)
{

pageTotal = 1;
}
if (currentPageIndex <= 1)
{
currentPageIndex = 1;
}
if (currentPageIndex >= pageTotal)
{
currentPageIndex = pageTotal;
}

var count = Convert.ToInt32(ViewData["ShowPageTotal"]);
var skip = 5;
int startPage = currentPageIndex - 5 > 0 ? currentPageIndex - 5 : 0;
int endPage = currentPageIndex + 5 < pageTotal ? currentPageIndex + 5 : pageTotal;
if (count != 0)
{
skip = count % 2 == 0 ? count / 2 : count / 2 + 1;
startPage = currentPageIndex - skip > 0 ? currentPageIndex - skip : 0;
endPage = currentPageIndex + skip < pageTotal ? currentPageIndex + skip : pageTotal;

}
else
{
if (startPage == 0 & pageTotal >= 10)
{
endPage = 5;
}

//else
//{
// skip = count % 2 == 0 ? count / 2 : count / 2 + 1;
// endPage = currentPageIndex + skip < pageTotal ? currentPageIndex + skip : pageTotal;
//}
}

<div style="float: left;margin-left: 35%;">

<ul class="pagination pull-right no-margin" style="margin-top: 2px; text-align: right;float:none !important;">
<li class="prev">
<a href="javascript:@toolName (1)" style="font-size: 12px; color: black; float: inherit; padding: 4px 12px;">
首页
</a>
<a href="javascript:@toolName (@currentPageIndex-1)" style="font-size: 12px; color: black; float: inherit; padding: 4px 12px;">
上一页
</a>
</li>
@for (int i = startPage; i < endPage; i++)
{
int pageIndex = i + 1;
if (currentPageIndex == pageIndex)
{
<li class="active">
<a href="javascript:@toolName (@pageIndex)" style="font-size: 12px; color: black; float: inherit; padding: 4px 12px;">@pageIndex</a>
</li>
}
else
{
<li>
<a href="javascript:@toolName (@pageIndex)" style="font-size: 12px; color: black; float: inherit; padding: 4px 12px;">@pageIndex</a>
</li>
}

}
<li class="next">
@if (currentPageIndex >= pageTotal)
{
<a href="javascript:@toolName (@currentPageIndex)" style="font-size: 12px; color: black; float: inherit; padding: 4px 12px;">
下一页
</a>
}
else
{
<a href="javascript:@toolName (@currentPageIndex+1)" style="font-size: 12px; color: black; float: inherit; padding: 4px 12px;">
下一页
</a>
}
<a href="javascript:@toolName (@pageTotal)" style="font-size: 12px; color: black; float: inherit; padding: 4px 12px;">
尾页
</a>

@*<input type="text" class="form-control" style="width:10%;display:initial; max-height: 27px;padding: 4px 12px;" id="txtPageIndex" />
<a onclick="SelectPange();" style="font-size:12px;color:black;float:inherit;padding: 4px 12px;">跳转</a>*@
</li>
</ul>

<label style="font-weight: inherit">
共 @*<b class="redcfldcn">*@@[email protected]*</b>*@ 页,
@if (dataCount != 0)
{
<span id="datacount">@dataCount</span>
}
当前页码: @*<b class="redcfldcn">*@@[email protected]*</b>*@
</label>
</div>
}

</div>

时间: 2024-11-05 11:22:30

项目分页通用页的相关文章

java分页通用篇

一.创建分页通用类 1 package com.dkyw.util; 2 3 import java.util.List; 4 5 public class Page<T> { 6 private int total;//总页数 7 private int pageIndex;//当前页码 8 private int pageSize;//每页大小 9 private List<T> rows;//当前页的集合对象 10 11 public int getTotal() { 12

vue项目实现详情页后退缓存之前的数据

vue项目实现详情页后退缓存之前的数据 2019年02月19日 14:54:57 不想写代码的程序员 阅读数:244 一.需要缓存的内容: 1.后退缓存条件查询的数据 2.后退缓存分页信息 二.实现 通过参考网上搜集的资料知道用keepAlive实现 参考地址:https://blog.csdn.net/sinat_17775997/article/details/80950246 1.在路由文件router.js中针对要缓存的页面进行设置 添加keepAlive: true,通过此字段判断是否

iOS项目生成通用Windows应用

WinObjc - 使用iOS项目生成通用Windows应用 Github上一周年的WinObjc项目最近发布了预览版本,终于等到了这一天.WinObjc项目就是Build 2015大会上微软宣布的Project IslandWood项目,致力于将iOS应用快速移植成UWP应用.废话不多说,让我们来看看WinObjc项目到底如何使用. 开始之前 开始转制iOS项目前我们要先部署好WinObjc工具,工具链如下: 一台安装了Visual Studio的Windows 10 PC,2015社区版可以

[转载]Windows下的分页模式- 页目录和页表从物理内存到虚拟映射求值

标 题: [原创]Windows下的分页模式-  页目录和页表从物理内存到虚拟映射求值 作 者: hrpirip 时 间: 2012-12-06,12:45:36 链 接: http://bbs.pediy.com/showthread.php?t=159554 昨天在网上看到一段代码令大为不解,大家都知道一个虚拟地址到物理地址的转换伪公式为:*(*(*PD[(VirtualAddress>>22)] & FFFFF000) [(VirtualAddress & 3FF000)

织梦DEDECMS网站首页如何实现分页翻页

织梦DEDECMS模板网站首页如何实现首页分页和翻页 方法如下:(三种方法,自己选择一种来实现分页吧) 第一种:调用ajax和参数的(不推荐)1.必须在DEDE首页模板中的<head></head>中引入(详细看你的默认模板) <script language="javascript" type="text/javascript" src="{dede:global.cfg_cmsurl/}/include/dedeajax2

使用bootstrap table时不能显示筛选列和分页每页显示的行数

使用bootstrap table时不能显示筛选列和分页每页显示的行数 后来在同事的帮助下,才发现没有引用bootstrap的js文件 <script src="/Scripts/bootstrap/js/bootstrap.js"></script> 这个引用了就可以了

页面直接导出为PDF文件,支持分页与页边距

将WEB页面直接导出为pdf文件是经常会用到的一个功能,尤其是各种报表系统.总结了一下目前几种主流的做法: 在后端用代码生成pdf文件,比如iText一类: 在后端抓取页面并生成pdf文件,比如phantomjs一类: 在前端用js直接生成pdf文件: 方案3的优势在于前端直接生成,所见即所得.今天要探索的就是html2canvas和jspdf,前者用于将页面元素render生成canvas,后者用于将canvas生成pdf文档.需要注意的是,这种方法对IE系列支持不好. html2canvas

thinkPHP5开发智慧软文遇到的分页第二页不显示数据的问题

在进行结果查询进行分页的时候,发现分页第一页数据正常,第二页没有数据,后面问题一样,这个是因为直接使用了: 如果此处使用如下语句: $lst=NewsModel::order('sendtime desc')->where('status',$val)->alias('a')->join('admin b','a.mtzid=b.id')->field('a.*,b.adminname')-> paginate(20);  在view中会出现只有第一页有数据的现象,故而需要使

Fit项目分页组件的编写

项目中涉及列表显示的地方都会用到分页控件,为了能更好地与当前网站的样式匹配,这次要自己实现一个. 所以选择了模板中提供的分页样式,基于模板改造以能够动态生成: 一 控件的行为规则 a) 可设置显示几个页码(默认5个,只能是奇数) 如果当前页显示5个,则默认前后各有两个,比如当前页是5,显示页码为"3 4 5 6 7 如果当前页在最前面,比如为1,显示页码为:1 2 3 4 5 同样当前页在最后面,比如为9,显示页码为:5 6 7 8 9 如果总页数少于5,比如只有3页,则页码全部显示:1 2 3