AspNetPager控件一点使用

    最近因为在做项目的时候,要用到分页这个功能,自己在网上找了点资料,找到了一个AspNetPager第三方控件,也在网上找了下例子,发现此控件的做得很强大,集合了Datailst,GridView等的相关属性和事件,很值得学下,现在和大家分享下,分页功能达到了我最初想要的效果,呵呵

 

      一:主要是想运用下AspNetPager的分页功能
      二:下面我说下要实现的功能
          我想在repeater控件上实现分页功能
      三:具体步骤
          我在网上查了下关于AspNetPager控件的使用和自己在网上也找了例子来研究

          我在sqlserver2005中创建了两个存储过程 “p_Get_ArrangeDetailFilm”用于获取表中有多少条记录,存储过程带了一个参数“@arrangeDetailID”,

         存储过程:create proc [dbo].[p_Get_ArrangeDetailFilm]
(
@F_ARRANGE_DETAIL_ID int
)
as
select count(*) from T_FILM_INFO where F_FILM_INFO_ID in (select F_FILM_INFO_ID from T_ARRANGE_FILM where F_ARRANGE_DETAIL_ID =@F_ARRANGE_DETAIL_ID)

         后台调用存储过程的相关代码
         private void ExcuteProc(int arrangeDetailID)
    {
        SqlParameter para = new SqlParameter("@F_ARRANGE_DETAIL_ID", SqlDbType.Int);
        para.Value = arrangeDetailID;

        string conStr = SqlHelper.ConnectionStringLocalTransaction;
        int totalOrders = (int)SqlHelperOwn.ExecuteScalar(CommandType.StoredProcedure, "p_Get_ArrangeDetailFilm",para);
        AspNetPager1.RecordCount = totalOrders;
    }
           另外一个存储过程“P_Get_Details_Film”,用户获取表中的所有信息,此存储过程带来三个参数“@F_ARRANGE_DETAIL_ID”,“@startIndex”,“@endIndex”
         存储过程:          

       ALTER PROCEDURE [dbo].[P_Get_Details_Film]
(
 @F_ARRANGE_DETAIL_ID INT,
 @startIndex INT,
 @endindex INT
 )
as
set nocount on
declare @indextable table(id int identity(1,1),nid int)
set rowcount @endIndex
insert into @indextable(nid) select F_FILM_INFO_ID from T_FILM_INFO where  F_FILM_INFO_ID in (select F_FILM_INFO_ID from T_ARRANGE_FILM where F_ARRANGE_DETAIL_ID =@F_ARRANGE_DETAIL_ID)
select T.*
from T_FILM_INFO T
inner join @indextable i on
T.F_FILM_INFO_ID=i.nid
where i.id between @startIndex and @endIndex order by i.id
set nocount off
 RETURN

           后台调用相关代码
           int id = int.Parse(Request.QueryString["ID"]);

            Repeater1.DataSource = SqlHelperOwn.ExecuteReader(CommandType.StoredProcedure, ConfigurationManager.AppSettings["pagedSPName"],
            new SqlParameter("@F_ARRANGE_DETAIL_ID", id),
            new SqlParameter("@startIndex", AspNetPager1.StartRecordIndex),
            new SqlParameter("@endIndex", AspNetPager1.EndRecordIndex));
            Repeater1.DataBind();
       

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章