解決分頁的例子。使用DataSet綁定到DataList實現的。資料庫使用我剛才貼的這個。

來源:互聯網
上載者:User
分頁|解決|資料|資料庫 using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
using System.Web.UI.WebControls;

namespace OSLeagueForumXP.admin
{
    /// <summary>
    /// 編輯公告頁面
    /// </summary>
    public class EditBoardPage : System.Web.UI.Page
    {
        protected System.Web.UI.WebControls.HyperLink hlkPrev;
        protected System.Web.UI.WebControls.HyperLink hlkNext;
        protected System.Web.UI.WebControls.HyperLink hlkFirst;
        protected System.Web.UI.WebControls.HyperLink hlkEnd;
        protected System.Web.UI.WebControls.Label lblPage;
        protected System.Web.UI.WebControls.Panel pelMain;
        protected System.Web.UI.WebControls.Label lblMessage;
        protected System.Web.UI.WebControls.HyperLink hlkReturn;
        protected System.Web.UI.WebControls.Panel pelMessage;
        protected System.Web.UI.WebControls.DataList DLBoard;
    
        private void Page_Load(object sender, System.EventArgs e)
        {
            Process clsProcess = new Process();
            clsProcess.Common();
            
            const int PAGESIZE = 5;
            int intPageCount;
            int intPage;
            if(Request.QueryString["Page"] == null)
            {
                intPage = 1;
            }
            else
            {
                intPage = Int32.Parse(Request.QueryString["Page"]);
            }
            int intStart = (intPage - 1) * PAGESIZE;
            
            SqlDataReader SqlReader = clsProcess.GetBoardCount();
            if(SqlReader.Read())
            {
                intPageCount = (int)SqlReader["PageCount"];
            }
            else
            {
                intPageCount = 0;
            }
            
            int intAllPage = (int) Math.Floor(intPageCount / PAGESIZE) + 1;
            
            DLBoard.DataSource = clsProcess.GetBoard(intStart,PAGESIZE);
            DLBoard.DataBind();
            
            if(clsProcess.GetBoard(intStart,PAGESIZE).Count == 0)
            {
                lblMessage.Text = "出現錯誤:<font color=\"red\">沒有公告,請先添加公告</font>";
                hlkReturn.Text = "添加公告";
                pelMain.Visible = false;
                pelMessage.Visible = true;
            }
            else
            {
                lblPage.Text = intAllPage.ToString() + "/" + intPage.ToString();
                
                if(intAllPage == 1)
                {
                    hlkFirst.NavigateUrl = "";
                    hlkPrev.NavigateUrl = "";
                    hlkNext.NavigateUrl = "";
                    hlkEnd.NavigateUrl = "";
                }
                else if(intPage == 1)
                {
                    hlkFirst.NavigateUrl = "";
                    hlkPrev.NavigateUrl = "";
                    hlkNext.NavigateUrl = "editboard.aspx?Page=" + (intPage + 1);
                    hlkEnd.NavigateUrl = "editboard.aspx?Page=" + intAllPage;
                }
                else if(intPage == intAllPage)
                {
                    hlkFirst.NavigateUrl = "editboard.aspx?Page=1";
                    hlkPrev.NavigateUrl = "editboard.aspx?Page=" + (intPage - 1);
                    hlkNext.NavigateUrl = "";
                    hlkEnd.NavigateUrl = "";
                }
                else
                {
                    hlkFirst.NavigateUrl = "editboard.aspx?Page=1";
                    hlkPrev.NavigateUrl = "editboard.aspx?Page=" + (intPage - 1);
                    hlkNext.NavigateUrl = "editboard.aspx?Page=" + (intPage + 1);
                    hlkEnd.NavigateUrl = "editboard.aspx?Page=" + intAllPage;
                }
            }
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN:該調用是 ASP.NET Web Form設計器所必需的。
            //
            InitializeComponent();
            base.OnInit(e);
        }
        
        /// <summary>
        /// 設計器支援所需的方法 - 不要使用代碼編輯器修改
        /// 此方法的內容。
        /// </summary>
        private void InitializeComponent()
        {    
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion
    }
}


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。