repeater 分页问题讨论
2008-04-14 22:51
204 查看
repeater 分页问题讨论
下面有一个实列,,希望能对大家有所帮助。。首先在Default.aspx在源中写几个HyperLink控件:
<table>
<tr>
<td align ="center"> 共 <asp:Label ID ="totalpage" runat ="server" BackColor="#FF8080" ></asp:Label> 页 当前为第 <asp:Label ID="currentpage" runat ="server" BackColor="#FF8080" ></asp:Label>页
<asp:HyperLink ID ="firstpage" Text ="首页" runat ="server"></asp:HyperLink>
<asp:HyperLink ID ="prepage" Text ="上一页" runat ="server"></asp:HyperLink>
<asp:HyperLink ID ="nexpage" Text ="下一页" runat ="server"></asp:HyperLink>
<asp:HyperLink ID ="lastpage" Text ="末页" runat ="server"></asp:HyperLink>
</td>
</tr>
</table>
下面是在Default.asp.cs中的代码;
protected void Page_Load(object sender, EventArgs e)
{
Pageing ();
}
protected void Pageing()
{
int pageCount;//总页数
int currentPage;//当前页数
int recordCount;//总行数
SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["myConn"]);
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [art_repaly], [art_user_id], [art_title], [art_nums], [art_summaary], [art_source] FROM [db_article] where art_class_id=1", con);
DataSet dst = new DataSet();
SqlDataAdapter dap = new SqlDataAdapter(cmd);
dap.Fill(dst, "db_article");
PagedDataSource pad = new PagedDataSource();
pad.DataSource = dst.Tables[0].DefaultView;
pad.AllowPaging = true;
pad.PageSize = 3;
recordCount = dst.Tables[0].Rows.Count;//得到总行数。。。
pageCount = recordCount / pad.PageSize;//得到总页数。。。
if (recordCount % pad.PageSize > 0)
{
pageCount++;//就是说如果最后一页小于三行时在得到总页数时会少一页。。而这里通此式判断可以加上那一页。。
}
if (Request.QueryString["Page"] != null)
{
try
{
currentPage = Int32.Parse(Request.QueryString["Page"].ToString());
}
catch
{
currentPage = 1;
}
}
else
{
currentPage = 1;
}
pad.CurrentPageIndex = currentPage - 1;//
this.totalpage.Text = pageCount.ToString();
this.currentpage.Text = currentPage.ToString();
if (!pad.IsFirstPage)//如果此时不为第一页。。
{
this.prepage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(currentPage - 1);//上一页
this.firstpage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=1";//转到第一页
}
if (!pad.IsLastPage)//如果此时不为最终后一页。。。
{
this.nexpage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + Convert.ToString(currentPage + 1);//下一页
this.lastpage.NavigateUrl = Request.CurrentExecutionFilePath + "?page=" + pageCount.ToString();//转到最后一页
}
this.Repeater1.DataSource = pad;//这两句一定不能少哟。。。
this.Repeater1.DataBind();
}
相关文章推荐
- repeater 分页问题讨论
- Repeater控件的分页问题
- DataList,Repeater分页问题可以采用三种方式解决:
- Repeater控件的分页问题
- [讨论]当我采用动态sql绑定datagrid分页的时候,遇到的问题
- repeater中分页aspnetpager是遇到的问题
- DataList,Repeater分页问题可以采用三种方式解决
- 老生常谈:也来讨论一下SQL分页的问题
- DataList,Repeater分页问题可以采用三种方式解决
- Repeater控件的分页问题
- 如何快速构建一个美女主播网站(来自知乎一个关于 webRTC 是否适合直播问题的讨论)
- datatables pagehelper分页问题
- 讨论一个并发线程导致的数据保存失败的问题
- 潜水多年,看见论坛里还在讨论这种无聊问题,忍不住说几句
- JSP pager-taglib分页标签应注意的问题
- Datalist控件,Repeater控件如何分页?
- 一个问题,两人讨论,几行代码,一些启发
- jquery.pagination分页反复提交的问题
- elasticsearch 深分页问题以及解决方法
- SqlDataSource筛选数据后分页问题