ASP.NET 2.0 中AspNetPager.dll控件的分页方法操作方法

大家好,我是Asp.net的忠实爱好者, 今天做项目时学会一种新控件[AspNetPager.dll]用法,很想把这方面的经验和大家分享一下,欢迎大家一起进来讨论讨论!
-------------------------------------------------------------------------
前台显示界面代码 Default.aspx[注意,代码运行环境是VS.2005]

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="AspNetPager" Namespace="Wuqi.Webdiyer" TagPrefix="webdiyer" %>



    <font face="宋体">用AspNetPager.dll控件的分页方法操作方法</font>


   


   

   
      
       
       

       
       
       
       
       
       
       
   
<%#DataBinder.Eval(Container.DataItem,"job_id")%><%#DataBinder.Eval(Container.DataItem,"job_desc")%><%#DataBinder.Eval(Container.DataItem,"min_lvl")%><%#DataBinder.Eval(Container.DataItem,"max_lvl")%>

      
       
             

   

   

 

//Default.aspx页面的代码

    DBAccess db = new DBAccess();
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
           BindGrid();
        }
    }

    protected void AspNetPager1_PageChanged(object sender, EventArgs e)
    {
        BindGrid();
    }

    public void BindGrid()
    {
        this.AspNetPager1.RecordCount = Int32.Parse(db.GetAllCount().ToString());
        int pageIndex = this.AspNetPager1.CurrentPageIndex - 1;
        int pageSize = this.AspNetPager1.PageSize =5;
        Repeater1.DataSource = db.GetCurrentPage(pageIndex, pageSize);
        Repeater1.DataBind();
    }

 

//前台已经OK了,就差后台数据库连接及分页需要的方法,本项目数据库示例为PUBS数据库[安装SQL SERVER就有的],分页的表为jobs表

 

using System.Data.SqlClient;

 

public class DBAccess
{
    private SqlConnection con;
    private string DBName = "pubs";

    //创建连接对象并打开
    public void Open()
    {
        if (con == null)
            con = new SqlConnection("server=(local);uid=sa;pwd=sa;database="+DBName);
        if (con.State == ConnectionState.Closed)
            con.Open();
    }

    //创建一个命令对象并返回该对象
    public SqlCommand CreateCommand(string sqlStr)
    {
        Open();
        SqlCommand cmd = new SqlCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = sqlStr;
        cmd.Connection = con;
        return cmd;
    }

    //生成一个对象并返回该结果集第一行第一列
    public object GetScalar(string sqlStr)
    {
        SqlCommand cmd = CreateCommand(sqlStr);
        object obj = cmd.ExecuteScalar();
        //CommadnBehavior.CloseConnection是将于DataReader的数据库链接关联起来  
        //当关闭DataReader对象时候也自动关闭链接
        return obj;
    }

     
    //执行数据库查询并返回一个数据集 [当前页码,每页记录条数]
    public DataSet GetCurrentPage(int pageIndex, int pageSize)
    {
        //设置导入的起始地址
        int firstPage = pageIndex * pageSize;
        string sqlStr = "select * from jobs order by job_id desc";
        SqlCommand cmd = CreateCommand(sqlStr);
        DataSet dataset = new DataSet();
        SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd);
        dataAdapter.Fill(dataset,firstPage,pageSize,"jobs");
        cmd.Dispose();
        Close();
        dataAdapter.Dispose();
        return dataset;
    }

    //获得查询数据的总条数
    public object GetAllCount()
    {
        string sqlStr = "select count(*) from jobs";
        object obj = GetScalar(sqlStr);
        return obj;
    }
 
    //关闭数据库
    public void Close()
    {
        if (con != null)
        {
            con.Close();
        }
    }

    //释放资源
    public void Dispose()
    {
        if (con != null)
        {
            con.Dispose();
            con = null;
        }
    }
 

你可能感兴趣的:(ASP.NET 2.0 中AspNetPager.dll控件的分页方法操作方法)