关于分页技术?

我是一个入门者,最近老师流了一个练习是作留言板,把留言信息分页显示出来?我上网搜索了好久,都没有我能看懂的(可能比较笨),我只是复制老师的一段代码如下:

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

public partial class _Default : System.Web.UI.Page
{
    int nRecCount;//定义总记录数
    int pageSize=3;//定义每页显示记录数
    //分页功能没有实现
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Bind();
            if(Request.UrlReferrer!=null)
            {
                ViewState["PageIndex"] = Request.UrlReferrer.ToString();
            }
        }
       
    }
    public int PageIndex
    {
        get
        {
            int pageIndex = 0;
            Object obj = ViewState["PageIndex"];
            if (obj == null)
                return pageIndex;
            int.TryParse(obj.ToString(), out pageIndex);
            return pageIndex;
        }
        set
        {
            ViewState["PageIndex"] = value;
        }
    }


    ////定义下一页,遇到最后一页停止
    protected void lbNext_Click(object sender, EventArgs e)
    {
        int count = (int)Application["nRecCount"];

        while (PageIndex + 1 <= count / pageSize)
        {
            PageIndex++;
           
        }
        Bind();
         return;
    }

    ////定义上一页,到首页后停止
    protected void lbPre_Click(object sender, EventArgs e)
    {

        if (PageIndex <= 0)
        {
            PageIndex = 0;
            return;
        }
        PageIndex--;
        Bind();
    }


 

    protected void rptMessage_ItemCommand(object source, RepeaterCommandEventArgs e)
    {

    }
    public void Bind()
    {
        //SqlConnection conn = new SqlConnection(@"data source=(local)\sqlexpress;database=testdb;Integrated Security=SSPI");
        string connection = ConfigurationManager.ConnectionStrings["test"].ConnectionString;
        SqlConnection conn = new SqlConnection(connection);
        string sqlStr = "select * from guestbook order by gdatetime desc";
        SqlDataAdapter dataAdapter = new SqlDataAdapter(sqlStr, conn);
        DataSet dataSet = new DataSet();
        dataAdapter.Fill(dataSet);
        DataTable dataTable = dataSet.Tables[0];
        nRecCount = dataTable.Rows.Count;//获得总记录数
        Application["nRecCount"] = nRecCount;
        rptMessage.DataSource = dataTable;
        rptMessage.DataBind();
        
    }
}

不知道什么地方需要改动?另外有没有朋友帮忙解释一下分页原理?老师的代码(我改了一些)我不懂.非常感谢

 

posted @ 2007-08-22 23:56  范文轩  阅读(546)  评论(1编辑  收藏  举报