网页分页显示

public partial class carnan : System.Web.UI.Page
{
private DataClassesDataContext _Context = new DataClassesDataContext();


//定义每页大小数 3条
private const int PAGESIZE = 3;
public List<Car>GetPagedCar(int pageNo)
{
//分页 跳过【PAGESIZE(3条)乘以定义pageNo】页。取第一页的3条数据
var var = _Context.Car.Skip(PAGESIZE*(pageNo-1)).Take(PAGESIZE);
return var.ToList();
}
//求总页数
public int GetPageCount()
{
//获取总行数
int rowsCount = _Context.Car.Count();
//计算总页数
int pageCount=(int)Math.Ceiling(1.0*rowsCount/PAGESIZE); //总行数rowscount 除以每页的条数PAGESIZE 得到的数不是整数用Math的Ceilin 取进一的整数强行转换成int行
return pageCount;//返回总页数的值
}
protected void Page_Load(object sender, EventArgs e)
{
//定义 nowPage 放在GetPagedCad()里面表达显示第几页数据
int nowPage=1;
if (Request["pageno"] != null)
{
nowPage =Convert.ToInt32 (Request["pageno"]);
}

List<Car> list = GetPagedCar(nowPage);

//给Repeater数据
Repeater1.DataSource = list;
Repeater1.DataBind();

 


// NavigeteUrl相当于是Href(相当于路径)
LinkShang.NavigateUrl = "carnan.aspx?pageno=" + (nowPage - 1).ToString();
//LinkShang(上一页按钮名称).NavigateUrl(转超链接)=“default.aspx?pageno(等于转到用Get传值 在网页地址栏输入的)”+(nowPage - 1)【定义好的显示页面的前一页】
//大体意思 点击上一页按钮通过转超链接用Get输入网页地址栏数据 传值 到显示页面的前一页去
LinkXia.NavigateUrl = "carnan.aspx?pageno=" + (nowPage + 1).ToString();

 

//给上一页数据
//定义pageCount等于总页数
int pageCount = GetPageCount();

//控制下一页连接
if (pageCount == nowPage) //注意这里的意思是 nowPage 网站显示的也是等于Pagecount(GetPageCount()也就是查出来的总页数)
{
LinkXia.Enabled = false;//那么 按钮下一页就不可用了 Enabled 按键是否可用
}
else
{
LinkXia.Enabled = true;
LinkXia.NavigateUrl = "carnan.aspx?pageno=" + (nowPage + 1).ToString();
}
//控制上一页连接
if (nowPage == 1)//显示也是等于第一页的时候
{
LinkShang.Enabled = false;

}
else
{
LinkShang.Enabled = true;
LinkShang.NavigateUrl = "carnan.aspx?pageno=" + (nowPage - 1).ToString();
}


//控制首页连接
LinkShou.NavigateUrl = "carnan.aspx?pageno=1";
//控制尾页连接
LinkWei.NavigateUrl = "carnan.aspx?pageno=" + pageCount;

 

}
protected void Buttiao_Click(object sender, EventArgs e)
{
//取值 吧输入文本框的值取出来
int goNo = Convert.ToInt32(txtPageNo.Text);

if(goNo<1)//如果 取出来的值小于一
{
Response.Redirect("carnan.aspx"); //那么直接跳转到首页
}
else if(goNo>GetPageCount()) //如果取出来的值大于总也是
{
Response.Redirect("carnan.aspx?pageno=" + GetPageCount());//那么直接跳转的最后一页
}
else
{
Response.Redirect("carnan.aspx?pageno=" + goNo);
}
}
}

转载于:https://www.cnblogs.com/tianxuan/p/4718180.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值