Asp.net学习笔记之AspNetPager篇

本人学习用asp.net做网站时间并不长,在学习过程中,分页成为一个很大的问题,asp.net自己的组件分布的视觉效果总觉的差的很多,而且使用起来并不是很顺手(也许是我技术太差了),所以我选择在网上找专门的分页组件,这里选用了AspNetPager,这个一位陕西的程序员开发并封装成Dll文件,这个分页组件使用起来很方便,并集成了存储过程生成工具,对我这个新手来说很有帮助的.尽管这个组件使用很简单,不过如果新手开始用这个组件的话可能还是要花上一定时间(我花了半天),现我向大家详细介绍这个组件的使用方法:

一、用到的组件参数

RecordCount 总记录数

StartRecordIndex 开始记录编号(用于存储过程中)

EndRecordIndex结束记录编号(用于存储过程中)

二、使用方法

Page_Load中使用。

例:

public partial class Default4 : System.Web.UI.Page

{

    DataOperation mydo = new DataOperation();

if (!IsPostBack) //如果不是回传就执行,用于初始化

        {

            DataOperation mydo1 = new DataOperation(); //实例化数据库连接

            string sqlstr1 = "exec fy 0,0,1"; //定义Sql语句,使用了fy存储函数

          

//初始化RecordCountmydo1.GetExeSqlCount返回一个int

AspNetPager1.RecordCount = mydo1.GetExeSqlCount(sqlstr1);

           

//定义Sql语句,使用了fy存储函数

string sqlstr = "exec fy " + AspNetPager1.StartRecordIndex + "," + AspNetPager1.EndRecordIndex + ",0";

           

        //GridView1指定一数据源, mydo.GetExeSqlDataTable返回一个DataTable

this.GridView1.DataSource = mydo.GetExeSqlDataTable(sqlstr);

           this.GridView1.DataBind();

     }

    protected void AspNetPager1_ PageChanged (object sender, EventArgs e)

    {// AspNetPager1组件的PageChanged事件

        string sqlstr = "exec fy " + AspNetPager1.StartRecordIndex + "," + AspNetPager1.EndRecordIndex + ",0";

        this.GridView1.DataSource = mydo.GetExeSqlDataTable(sqlstr);

        this.GridView1.DataBind();

    }

}

这个组件中还有很多其他的功能,大家在使用过程就会发现,设置是可视化的,这里我就不多说了,下面是本文中用到的存储过程,相信对大家理解上面的代码有一定帮助,本文中也一起附上。

存储过程:

ALTER procedure fy

(@startIndex int,

@endIndex int,

@docount int)

as

set nocount on

if(@docount=1)

select count(*) from Xt_Article

else

begin

declare @indextable table(id int identity(1,1),nid int)

set rowcount @endIndex

insert into @indextable(nid) select id from Xt_Article order by id asc

select * from Xt_Article O,@indextable t where O.id=t.nid

and t.id between @startIndex and @endIndex order by t.id

end

set nocount off

posted @ 2008-03-22 11:17  TerryXu  阅读(360)  评论(0编辑  收藏  举报