NVelocity分页时判断首页前一页后一页末页的详细

共$Data.TotalCount个/$Data.PageNum页
#if($Data.PageNum==1)
<span class="disabled">&nbsp;&lt;&lt;&nbsp;</span>
<span class="disabled">&nbsp;&lt;&nbsp;</span>
#else
<a href="StuList.ashx?PageNum=1">&nbsp;&lt;&lt;&nbsp;</a>
#end

#if($Data.PageNum>1)
<a href="StuList.ashx?PageNum=$Data.FrontPage">&nbsp;&lt;&nbsp;</a>
#end

#foreach($page in $Data.PageData)
#if($page.CurrentNum==$Data.PageNum)
<span class="current">$page.CurrentNum</span>
#else
<a href="$page.href">$page.CurrentNum</a>
#end
#end

#if($Data.PageNum<$Data.PageCount)
#set($NextPage=$Data.PageNum+1)
<a href="StuList.ashx?PageNum=$NextPage">&nbsp;&gt;&nbsp;</a>
#end

#if($Data.PageNum==$Data.PageCount)
<span class="disabled">&nbsp;&gt;&nbsp;</span>
<span class="disabled">&nbsp;&gt;&gt;&nbsp;</span>
#else
<a href="StuList.ashx?PageNum=$Data.PageCount">&nbsp;&gt;&gt;&nbsp;</a>
#end

后台ashx部分代码

int pageNum = 1;
if (context.Request["PageNum"] != null)
{
pageNum = Convert.ToInt32(context.Request["PageNum"]);
}
int totalCount = (int)SqlHelper.ExecuteScalar("select count(*) from T_StuReq where IsDel=‘0‘");
int pageCount = (int)Math.Ceiling(totalCount / 5.0);
DataTable dt = SqlHelper.ExecuteDataTable(@"select * from( select s.requireId , s.Time , c.CName,s.requireAddress,s.requireSex,s.requirePrice,s.SEmail,s.requireInfo,row_number() over (order by s.requireId desc) as num from T_StuReq s left join T_Course c on s.CId=c.CId where s.IsDel=‘0‘)as s
where s.num between @Start and @End",
new SqlParameter("@Start", (pageNum - 1) * 5 + 1),
new SqlParameter("@End", pageNum * 5));
object[] pageData = new object[pageCount];
for (int i = 0; i < pageCount; i++)
{
pageData[i] = new { href = "StuList.ashx?PageNum=" + (i + 1), CurrentNum = (i + 1) };
}
int frontPage = pageNum - 1;
var data = new { Info = "", Person = dt.Rows, TotalCount = totalCount, PageNum = pageNum, PageData = pageData, PageCount = pageCount, FrontPage = frontPage };
string html = NvHelper.RenderHtml("Front/StuList.html", data);

NVelocity分页时判断首页前一页后一页末页的详细

时间: 2024-08-02 02:48:20

NVelocity分页时判断首页前一页后一页末页的详细的相关文章

iOS设置启动页后的广告页

很多app(如淘宝.美团等)在启动图加载完毕后,还会显示几秒的广告,一般都有个跳过按钮可以跳过这个广告,有的app在点击广告页之后还会进入一个广告页面,点击返回进入首页.就像下面的效果.这个功能现在很常见,那么它是如何实现的呢?

react+antd分页 实现分页及页面刷新时回到刷新前的page

antd框架地址:https://ant.design/index-cn 利用antdUI框架做了个分页,其他功能都没问题,但是页面跳转后刷新会回到第一页,经过学习,在组件里增加了hash值,详情请看代码,实现了页面跳转后刷新依然显示刷新前的页面. import React from 'react' import { Pagination, Spin } from 'antd' //引入分页组件 import 'whatwg-fetch' import './agricultural.less'

HTML静态分页(形如:首页,上一页,下一页,尾页)

在HTML中有时候我们会用到静态分页,一次拿回一定量的数据结果条目,我们会以形如:第2页,共12页  首页 上一页 下一页 尾页 的方式进行静态分页,以下是该种静态分页的代码,供兄弟姐妹们参考. <div class="page"> <!-- a href="tosearch.jsp" target="_blank" class="blue">更多</a --> <SCRIPT typ

织梦栏目分页实现前十页后十页

栏目分页前十页后十页 实现教程 打开 /include/arc.listview.class.php 找到 $prepage.="<li><a href='".$purl."PageNo=$prepagenum'>上一页</a></li>\r\n"; 在它下面加入 $prepage.="<li><a href='".$purl."PageNo=". (($pre

有关Listview分页以及判断Listview是否已经滚动到低端的一些探索

在体验其他设计优美的app时加载动画的假象让我以为Listview的最后一条item完全显示之后才正式加载,导致我走入了一个误区浪费了很长的一段时间,最终我也是妥协以最后一条item刚被暴露开始作为Listview滚动到底部的标志,也就是说无须费很大劲去实现一个并没有多大提升的细节了.期间当然发现了一些很好的解决办法, 其一(网上引用的代码,原始出处不详,故不注明了): 1 private int getLastVisiblePosition = 0, lastVisiblePositionY

thinkphp分页时保持查询条件

thinkphp 查询数据时需要分页显示时,会出现只有第1页是按查询条件查到的数据,而其他页面都恢复了,我们想要的结果却是:在翻页时,查询条件保持不变. 原因是:在分页跳转的时候,没有将查询条件作为分页参数传递到下一页.原来翻页的时候,存储在REQUEST变量中的参数并未被传递到下一页,因为表单的 method = “post”,而点击进入下一页时,很明显form表单被重置了,所以打印REQUEST变量也是空的. thinkphp RBAC的示例代码中给出了: PHP $p = new Page

GridView自定义分页样式(上一页,下一页,到第几页)

今天要为网站做一个文章列表,发现GridView的分页样式很难看,于是结合网上的例子,自己做了一个.不是很美观,不过还是很实用的,先看下效果吧,如图(1). 图(1)GridView分页效果 自定义GridView的分页样式,使用的是GridView的  <PagerTemplate>元素.我们先看这段分页代码. 1 <PagerTemplate> 2 <br /> 3 <asp:Label ID="lblPage" runat="s

原生JS实现分页效果2.0(新增了上一页和下一页,添加当前元素样式)

虽然写的很烂,但至少全部都是自己写的,因为这个没有固定的顺序,所以就没有封装,如果你技术好的话,可以你写的分享给我,谢谢. <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>原生JS实现分页效果</title> <style> body{ margin:100px 200px; } #page{ m

Oracle下用rownum进行分页时排序的错乱 .

今天早上用户打电话说系统的排序有问题,仔细看了一下,问题好像是出在ROWNUM这个函数上. 在Oracle下ROWNUM函数是对查询结果按照顺序分配自增行序号,所以很多人都利用这个特点进行分页操作,即rownum between 30 and 60,这种限制返回行数的小窍门在普通情况下都很正常,但如果要对返回结果在进行排序就变得乱套了. 如下查询: select page.* from( select rownum page_id,    id,    unit_code,    name,