asp.net中使用repeater和PageDataSource搭配实现分页代码

时间:2021-05-28

复制代码 代码如下:
PagedDataSource objPage = new PagedDataSource();

DataView dv = bllBook.GetListByState("", true);
//设置数据源
objPage.DataSource =dv ;

//允许分页
objPage.AllowPaging = true;

//设置每页显示的项数
objPage.PageSize = 10;


//定义变量用来保存当前页索引
int CurPage;
int RecordCount;
int PageCount = objPage.PageCount;

RecordCount = dv.Count;

//判断是否具有页面跳转的请求
if (Request.QueryString["Page"] != null)
{
CurPage = Convert.ToInt32(Request.QueryString["Page"]);
}

else
{
CurPage = 1;
}

//设置当前页的索引
objPage.CurrentPageIndex = CurPage - 1;

//显示状态信息
lblCurPage.Text = "第  " + CurPage.ToString() + "/" + PageCount.ToString() + "页    共  " + RecordCount.ToString() + " 记录 ";

//如果当前页面不是首页
if (!objPage.IsFirstPage)
//定义 "上一页 "超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
{
lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1);
lnkFirst.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1);
}

//如果当前页面不是最后一页
if (!objPage.IsLastPage)
//定义 "下一页 "超级链接的URL为:当前执行页面的虚拟路径,并传递下一页面的索引值
{
lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1);
lnkLast.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(PageCount);
}

//进行数据绑定
Repeater1.DataSource = objPage;
Repeater1.DataBind();

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章