分页
2015-08-09 15:23
429 查看
两个最重要的变量:
PageSize - 每页显示的记录条数
PageNO - 当前要显示第几页
两个重要的函数:
1.获取指定页面记录的函数。
2.获取总页数的函数。
最核心的:"上一页"和"下一页"
1.使用超链接HyperLink控制。
2.使用代码给HyperLink的NavigateURL赋值。
linkNext.NavigateUrl = "Default.aspx?pageno=" + (nowPage + 1).ToString();
linkPrev.NavigateUrl = "Default.aspx?pageno=" + (nowPage - 1).ToString();
nowPage是用Request["pageno"]获取过来的当前页号。
完善1:控制“上一页”“下一页”是否可用
1.是否是首页。nowPage==1??
2.是否是尾页。调用获取总页数的函数,看看nowPage是否与之相等
完善2:加“首页”和尾页
1.首页,是超链接,总是导到第一页去。
linkFirst.NavigateUrl = "Default.aspx?pageno=1";
2.尾页,是超链接,总是导到与总页数相同的那相页号上去。
linkLast.NavigateUrl = "Default.aspx?pageno=" + pageCount;
完善3:随机跳转
1.文本框+按钮
2.使用Response.Redirect("地址")跳转
3.判断边界。小于第一页,大于最后一页。
int goNO = Convert.ToInt32(txtPageNo.Text);
if (goNO < 1)
{
Response.Redirect("Default.aspx");
}
else if (goNO > GetPageCount())
{
Response.Redirect("Default.aspx?pageno=" + GetPageCount());
}
else
{
Response.Redirect("Default.aspx?pageno="+goNO);
}
PageSize - 每页显示的记录条数
PageNO - 当前要显示第几页
两个重要的函数:
1.获取指定页面记录的函数。
2.获取总页数的函数。
最核心的:"上一页"和"下一页"
1.使用超链接HyperLink控制。
2.使用代码给HyperLink的NavigateURL赋值。
linkNext.NavigateUrl = "Default.aspx?pageno=" + (nowPage + 1).ToString();
linkPrev.NavigateUrl = "Default.aspx?pageno=" + (nowPage - 1).ToString();
nowPage是用Request["pageno"]获取过来的当前页号。
完善1:控制“上一页”“下一页”是否可用
1.是否是首页。nowPage==1??
2.是否是尾页。调用获取总页数的函数,看看nowPage是否与之相等
完善2:加“首页”和尾页
1.首页,是超链接,总是导到第一页去。
linkFirst.NavigateUrl = "Default.aspx?pageno=1";
2.尾页,是超链接,总是导到与总页数相同的那相页号上去。
linkLast.NavigateUrl = "Default.aspx?pageno=" + pageCount;
完善3:随机跳转
1.文本框+按钮
2.使用Response.Redirect("地址")跳转
3.判断边界。小于第一页,大于最后一页。
int goNO = Convert.ToInt32(txtPageNo.Text);
if (goNO < 1)
{
Response.Redirect("Default.aspx");
}
else if (goNO > GetPageCount())
{
Response.Redirect("Default.aspx?pageno=" + GetPageCount());
}
else
{
Response.Redirect("Default.aspx?pageno="+goNO);
}
public partial class _Default : System.Web.UI.Page { private MyDBDataContext _Context = new MyDBDataContext(); private const int PageSize = 3; public List <Car> GetPageCar(int PageNo) { var query = _Context.Car.Skip(PageSize * (PageNo - 1)).Take(PageSize ); return query.ToList(); } public int GetPageCount() { int rowsCount = _Context.Car.Count(); int PageCount = (int)Math.Ceiling(1.0*rowsCount /PageSize ); return PageCount; } protected void Page_Load(object sender, EventArgs e) { int nowPage = 1; if (Request["pageno"] != null) { nowPage = Convert.ToInt32(Request["pageno"]); } List<Car> list = GetPageCar(nowPage ); //给repeater数据 Repeater1.DataSource = list; Repeater1.DataBind(); //给上一页下一页数据 int PageCount = GetPageCount(); //控制下一页 if (PageCount == nowPage) { linkNext.Enabled = false; } else { linkNext.Enabled = true; linkNext.NavigateUrl = "Default.aspx?pageno=" + (nowPage + 1).ToString(); } //控制上一页 if (nowPage == 1) { linkPrev.Enabled = false; } else { linkPrev.Enabled = true; linkPrev.NavigateUrl = "Default.aspx?pageno=" + (nowPage - 1).ToString(); } //控制首页 linkFirst.NavigateUrl = "Default.aspx?pageno=1"; //控制尾页 linkLast.NavigateUrl = "Default.aspx?pageno=" + PageCount; } //跳转 protected void btnGo_Click(object sender, EventArgs e) { int GoNo = Convert.ToInt32(txtPageNo.Text ); if (GoNo < 1) { Response.Redirect("Default.aspx"); } else if (GoNo > GetPageCount()) { Response.Redirect("Default.aspx?pageno=" + GetPageCount()); } else { Response.Redirect("Default.aspx?pageno=" + GoNo); } } }
相关文章推荐
- 第22章 声音与音乐(2)
- Flume+Kafka+Strom基于分布式环境的结合使用
- 使用COM组件实现对Excel文件的操控
- 如何正确入门Windows系统下驱动开发领域?
- FZU 1182 Argus
- UVA 10892 LCM Cardinality (分解因数+暴力)
- 联想G480安装CentOS电缆驱动器
- Sparql语言模型(一)
- modelsim-altera 仿真设置
- 素数 表
- POJ 2528 Mayor's posters 线段树+离散化
- POJ 3349 Snowflake Snow Snowflakes (链式解决冲突)
- HDU 5366 The mook jong (动态规划,详解)
- MyBatis -- configuration配置详解
- FZU 1171 Hard to Believe, but True!
- 8个值得关注的SQL-on-Hadoop框架
- Trie的实现
- HDU 5358 First One
- Find The Multiple
- oracle的字符类型varchar2为什么要加上2呢?