asp.net用datalist进行分页
来源:互联网 发布:国际编程证书 编辑:程序博客网 时间:2024/06/11 12:03
前台代码:
这个是前台代码:必须要先设计号界面
<asp:Repeater ID="Repeater1" runat="server" > <ItemTemplate> <table width="100%" cellpadding="0px" cellspacing="0px" border="0px" style="font-size:small;"> <tr> <td rowspan="2" width="400px"> <a href="productDetail.aspx?ProductId=<%# Eval("ProductId") %>"> <img height="180px" width="200px" src="<%# DataBinder.Eval(Container.DataItem,"PPictuer")%>" alt="产品图片" /></a><br /> 人气指数: <%# DataBinder.Eval(Container.DataItem,"PClick")%></td> <td colspan="2"> <%# DataBinder.Eval(Container.DataItem,"PName")%> </td> </tr> <tr> <td width="400px"> </td> <td> 零售价:<del>¥<%# DataBinder.Eval(Container.DataItem,"PPrice")%></del><br />会员价:¥<%# DataBinder.Eval(Container.DataItem,"PMemberPrice")%><br /></td> </tr> <tr> <td></td> <td></td> <td colspan="3"> <a href="pubCart.aspx?ProductId=<%# DataBinder.Eval(Container.DataItem,"PPrice")%>"> <img src="images/1223.jpg" alt="立即购买" /></a> </td> </tr> <tr> <td></td> <td width="400px">详细介绍:</td> </tr> <tr> <td></td> </tr> </table> </ItemTemplate> </asp:Repeater> <br /> <asp:Label ID="lblCurrentPage" runat="server" Text="Label"></asp:Label> <asp:HyperLink ID="lnkPrev" runat="server">上一页</asp:HyperLink> <asp:HyperLink ID="lnkNext" runat="server">下一页</asp:HyperLink>
后台代码:protected void Page_Load(object sender, EventArgs e) { string sqlstr = "SELECT TOP (30) ProductId, PName,PPictuer, PPrice, PMemberPrice, PClick FROM product WHERE (PStock > 0) ORDER BY PClick DESC "; DataSet ds = DatabaseHelp.datasetdata(sqlstr);//从数据库中读取数据 PagedDataSource objPds = new PagedDataSource();//将数据源链接到pagesource上 objPds.DataSource = ds.Tables[0].DefaultView; objPds.AllowPaging = true; objPds.PageSize = 2; int curpage = 0; if (Request.QueryString["Page"] != null)//如果session值为空说明是页数在第一页,否则读取到具体页数 { curpage = Convert.ToInt32(Request.QueryString["Page"]); } else { curpage = 1; } objPds.CurrentPageIndex = curpage-1; lblCurrentPage.Text = "第" + curpage.ToString()+"页"; if (!objPds.IsFirstPage)//最后一页的话不要链接 { lnkPrev.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curpage - 1);//链接按钮 } if (!objPds.IsLastPage)//第一页也不要链接 { lnkNext.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(curpage + 1);//这也是一个按钮 } Repeater1.DataSource = objPds; Repeater1.DataBind(); }