asp.net 7.分页
分页
SQL:
select * from(
select *,row_number()over(order by id) as num from T_userInfo) as t
where t.num >=1 and t.num <=4
数据层(UserInfoDal):
/// <summary>
/// 根据指定的范围,获取指定的数据
/// </summary>
/// <param name="start"></param>
/// <param name="end"></param>
/// <returns></returns>
public List<UserInfo> GetPageList(int start,int end)
{
string sql = "select * from(select *,row_number()over(order by id) as num from UserInfo) as t where t.num>=@start and t.num<=@end";
SqlParameter[] pars = {
new SqlParameter("@start",SqlDbType.Int),
new SqlParameter("@end",SqlDbType.Int)
};
pars[].Value = start;
pars[].Value = end;
DataTable da=SqlHelper.GetDataTable(sql, CommandType.Text, pars);
List<UserInfo> list = null;
if (da.Rows.Count > )
{
list = new List<UserInfo>();
UserInfo userInfo = null;
foreach (DataRow row in da.Rows)
{
userInfo = new UserInfo();
LoadEntity(userInfo, row);
list.Add(userInfo);
}
}
return list;
} /// <summary>
/// 获取总的记录数
/// </summary>
/// <returns></returns>
public int GetRecordCount()
{
string sql = "select count(*) from UserInfo";
return Convert.ToInt32(SqlHelper.ExecuteScalar(sql,CommandType.Text));
}
业务层(UserInfoService):
/// <summary>
/// 计算获取数据的访问,完成分页
/// </summary>
/// <param name="pageIndex">当前页码</param>
/// <param name="pageSize">每页显示的记录数据</param>
/// <returns></returns>
public List<UserInfo> GetPageList(int pageIndex,int pageSize)
{
int start=(pageIndex-)*pageSize+;
int end = pageIndex * pageSize;
return UserInfoDal.GetPageList(start, end); }
/// <summary>
/// 获取总的页数
/// </summary>
/// <param name="pageSize">每页显示的记录数</param>
/// <returns></returns>
public int GetPageCount(int pageSize)
{
int recoredCount = UserInfoDal.GetRecordCount();//获取总的记录数.
int pageCount =Convert.ToInt32(Math.Ceiling((double)recoredCount / pageSize));
return pageCount;
}
SqlHelper 添加ExecuteScalar方法(返回第一行第一列):
public static object ExecuteScalar(string sql, CommandType type, params SqlParameter[] pars)
{
using (SqlConnection conn = new SqlConnection(connStr))
{
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
if (pars != null)
{
cmd.Parameters.AddRange(pars);
}
cmd.CommandType = type;
conn.Open();
return cmd.ExecuteScalar();
}
}
}
UI层(首页/前页/下页/尾页):
<a href="NewList.aspx?pageIndex=1">首页</a> |
<a href="NewList.aspx?pageIndex=<%=PageIndex-1<1?1:PageIndex-1%>"> 前页</a> |
<a href="NewList.aspx?pageIndex=<%=PageIndex+1>PageCount?PageCount:PageIndex+1%>">后页</a> |
<a href="NewList.aspx?pageIndex=<%=PageCount%>"> 尾页 </a> 页次:<%=PageIndex%>/<%=PageCount%>页
using CZBK.ItcastProject.Model;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls; namespace CZBK.ItcastProject.WebApp._2015_5_30
{
public partial class NewList : System.Web.UI.Page
{
public string StrHtml { get; set; }
public int PageIndex { get; set; }
public int PageCount { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
int pageSize=;
int pageIndex;
if(!int.TryParse(Request.QueryString["pageIndex"],out pageIndex))
{
pageIndex=;
}
BLL.UserInfoService UserInfoService = new BLL.UserInfoService();
int pagecount = UserInfoService.GetPageCount(pageSize);//获取总页数
PageCount = pagecount;
//对当前页码值范围进行判断
pageIndex = pageIndex < ? : pageIndex;
pageIndex = pageIndex > pagecount ? pagecount : pageIndex;
PageIndex = pageIndex;
List<UserInfo>list= UserInfoService.GetPageList(pageIndex,pageSize);//获取分页数据
StringBuilder sb = new StringBuilder();
foreach (UserInfo userInfo in list)
{
sb.AppendFormat("<li><span>{0}</span><a href='#' target='_blank'>{1}</a></li>",userInfo.RegTime.ToShortDateString(),userInfo.UserName);
}
StrHtml = sb.ToString();
}
}
}
asp.net 7.分页的更多相关文章
- ASP.NET MVC分页组件MvcPager 2.0版发布暨网站全新改版
MvcPager分页控件是在ASP.NET MVC Web应用程序中实现分页功能的一系列扩展方法,该分页控件的最初的实现方法借鉴了网上流行的部分源代码, 尤其是ScottGu的PagedList< ...
- ASP.NET MVC分页实现之改进版-增加同一个视图可设置多个分页
我之前就已经实现了ASP.NET MVC分页(查看该博文),但它有局限性,必须确保在同一个视图中只能有一处分页,若需要在同一个视图中设置多个分页,却无能为力,为此,我重新对原先的代码进行了优化,增加了 ...
- 基于Bootstrap的Asp.net Mvc 分页
基于Bootstrap的Asp.net Mvc 分页的实现 最近写了一个mvc 的 分页,样式是基于 bootstrap 的 ,提供查询条件,不过可以自己写样式根据个人的喜好,以此分享一下.首先新建一 ...
- [Asp.net]AspNetPager分页组件
引言 在基于Asp.net的内网系统中,分页功能是最常用的,用的最多的组件就是AspNetPager. AspNetPager 官网:http://www.webdiyer.com/aspnetpag ...
- Asp.Net真分页技术
最近学校要做课题,闲来没事研究了下Asp.net的分页,我使用Repeater进行数据的绑定,每次从数据库读取到8条数据填充到Repeater中,这样搞可以降低数据库的压力,提高效率. 效果图如下: ...
- Asp.net+JS 分页
function pagestart() {//初始化页面,获取公司新闻 $("#pagediv").hide(); $("); var pagesize = $(&qu ...
- cPage分页,asp.net自定义分页,url传值分页,支持datalist、gridview、Repeater等
asp.net分页是最最常用的功能,实现方式也很多,使用不同的控件有不同的分页方式. 下面分享一个我们团队内部使用了多年的一个分页控件cPage,是自己设计编写,没有冗余,简单.快速. cPage,现 ...
- PagedDataSource、Repeater以及AspNetPager在ASP.NET上分页。
一.前台使用服务器标签 1.1使用Repeater控件 <asp:Repeater ID="Repeater1" runat="server"> & ...
- ASP.NET MVC分页实现
ASP.NET MVC中不能使用分页控件,所以我就自己写了一个分页局部视图,配合PageInfo类,即可实现在任何页面任意位置呈现分页,由于采用的是基于POST分页方式,所以唯一的限制就是必须放在FO ...
- asp.net中分页与存储过程的一些总结
一.接上文,使用的是jquery AJAX 进行分页 分页存储过程代码如下: ALTER PROCEDURE [dbo].[USP_GetAlbumByPage] @pageIndex int,--当 ...
随机推荐
- Java 比较两个字符串的相似度算法(Levenshtein Distance)
转载自: https://blog.csdn.net/JavaReact/article/details/82144732 算法简介: Levenshtein Distance,又称编辑距离,指的是两 ...
- POJ 1789 -- Truck History(Prim)
POJ 1789 -- Truck History Prim求分母的最小.即求最小生成树 #include<iostream> #include<cstring> #incl ...
- Nginx命令与配置详解
1. 控制命令 ./sbin/nginx –t 测试配置是否正确 ./sbin/nginx –s reload 加载最新配置,进程并不重启 ./sbin/nginx –s stop 立即停止 ...
- 关于jenkins
启动不了时可更改端口 java -jar jenkins.war –httpPort=8090
- pytorch-Resnet网络
残差网络:将输入层与输出层进行连接,保证了经过这层网路结构,网络的运算能力不会出现较大的改变 网络解析: 第一层网络: 输入网络经过一个卷积层,再经过一个batch_normalize, 再经过一个r ...
- ios 报错记录
1. 运行xcode 报错:unterminated conditional directive #ifdef 缺少对应的#endif 在结尾加上就好了 2.iOS添加非(c,c++)文件引发的&qu ...
- SEO中常用的301永久重定向代码大全
301是永久重定向的意思,表示请求的网页已永久移动到新位置,服务器返回此响应(对 GET 或 HEAD 请求的响应)时,会自动将请求者转到新位置.其实301重定向在SEO中被广泛应用,也是被广泛认为比 ...
- smarty 第一条数据判断
<div class="shangpin_rightdiv2"> <p>颜色</p> <ul id="toggle"& ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_2-5.开源工具的优缺点选择和抽象方法的建议
笔记 5.开源工具的优缺点选择和抽象方法的建议 简介:讲解开源工具的好处和弊端,如pageHeper分页拦截器,tk自动生成工具,抽象方法的利弊等 1.开源工具 好处: ...
- Django Model模型
Model简介 模型准确且唯一的描述了数据.它包含您储存的数据的重要字段和行为.一般来说,每一个模型都映射一张数据库表. 每个模型都是一个 Python 的类,这些类继承 django.db.mode ...