这是代码
for (int i = 0; i < dt.Rows.Count; i++)
            {
                returnstring += "<tr>";
                returnstring += "<td width=\"50\" height=\"30\" align=\"center\"><img src=\"images/y_89.jpg\" width=\"3\" height=\"3\" /></td>";
                returnstring += "<td><span class=\"STYLE21\"><a href=\"ys.aspx?id=" + dt.Rows[i]["PS_ID"] + "\">" + dt.Rows[i]["PS_Title"].ToString() + "</a></span></td>";
                returnstring += "<td width=\"150\" align=\"center\"><span class=\"STYLE21\">[" + dt.Rows[i]["PS_Time"].ToString() + "]</span></td>";
                returnstring += "</tr>";
                returnstring += "<tr><td height=\"1\" colspan=\"3\" align=\"center\"><hr size='1' noshade='noshade' style='border: 1px #888888 dotted;' /></td></tr>";
}

解决方案 »

  1.   


    很简单啊,查询的时候分页就好了。
    举个例子,第一页拼出来50条数据,当点第二页的时候,
    你再查第二页的数据,当然也会执行这个拼表格的方法,拼出来显示的就是第二页的数据。
    页码的话,你根据表里面的总记录数,除以每页显示的数据 算出来的那个数字循环递增就好了。
    你每次点下一页,重新查下一页的数据,重新拼新的页面。
    不知道你明白没有 
    给你个分页的存储过程-- =============================================
    -- Author: <hoover.huang>
    -- Create date: < 2010-10-28>
    -- Description: <查询订单详细信息列表,根据起止时间>
    -- =============================================
    ALTER PROCEDURE  [dbo].[spGetOrderListInfoByTime] -- Add the parameters for the stored procedure here
     @startIndex INT,   --起始行数
     @endindex INT,  --结束行数
     --@userEmail nvarchar(100),  --用户名
     --@prBrand  nvarchar(100),  --品牌
     @beginTime  datetime,  --起始时间
     @endTime  datetime    --结束时间
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;    -- Insert statements for procedure here
    WITH orderList AS ( 
    SELECT ROW_NUMBER() OVER (ORDER BY ord.ORD_DATE DESC)AS rownum,  
    --ord.ORD_ID as ordID,   --订单主键Id
    ord.ORD_NO as OrdNo,  --订单号
    ord.ORD_DATE as OrdDate, --订单时间
    ISNULL(ord.ORG_PROMOTION_CODE,'') as PromotionCode, --促销代码
    ISNULL(sta.OST_STATUS,'') as OstStatus, --订单状态
    ite.OIT_BRAND AS Brand ,  --品牌
    ite.OIT_NAME AS PName,   --产品名称
    ite.PRD_ID AS PrDId, --产品编号 
    ISNULL(ite.OIT_QUANTITY,0.00) AS Quantity,  --数量
    ISNULL(ite.OIT_UPRICE,0.00) AS Price, --单价
    ISNULL(ite.OIT_SUBTOTAL,0.00) AS ProductSubtotal , --小计
    ISNULL(ord.ORD_SHIPPING_TOTAL,0) AS ShippingTotal, --运费
    (ISNULL(ord.ORD_SUB_TOTAL,0.00) + ISNULL(ord.ORD_SHIPPING_TOTAL,0)) AS SubTotal, --总计
    addr.CAD_PROVINCE AS  Province, --送货省份
    addr.CAD_CITY AS City , --送货城市
    PType = CASE ord.ORD_PTYPE WHEN 0 THEN N'货到付款' WHEN 1 THEN N'银联支付' WHEN 2 THEN N'支付宝' ELSE N'货到付款' END,
    cu.CU_EMAIL as email  --用户名from Orders ord   
    left join   OrderStatus  sta    on  ord.ORD_ID=sta.ORD_ID 
    left join   OrderItem    ite    on  ord.ORD_ID=ite.ORD_ID
    left join   OrderAddress addr   on  ord.CAD_ID=addr.CAD_ID
    left join   CustUser     cu     on  ord.CU_ID =cu.CU_ID
    where 
    ord.ORD_DATE>=cast(@beginTime as DATETIME)  and ord.ORD_DATE<CAST(@endTime as DATETIME)
    and charindex('@iplabel.com',Convert(nvarchar(500),cu.CU_EMAIL))=0)SELECT * FROM orderlist
    WHERE 
    rownum between @startIndex and @endIndex   
    --and ordDate>= @beginTime   and  ordDate<=  @endTime 
    order by  ordDate desc ;END关键就是  rownum between @startIndex and @endIndex   
    --and ordDate>= @beginTime   and  ordDate<=  @endTime 
    order by  ordDate desc ;每次查询 一页里面需要显示的数据