1. 程式人生 > >牛腩新聞釋出系統總結——網站釋出和分頁製作

牛腩新聞釋出系統總結——網站釋出和分頁製作

       牛腩新聞釋出系統的視訊看了將近半個月的時間,今天成功地把它釋出了,哈哈。第一次看教學視訊看得這麼專注,都不帶走思的,很不錯。給小牛老師贊一個,嘿嘿!

       言歸正傳,每學完一個階段,最重要的就是總結,所以就允許我以倒序的形式,顆粒歸倉吧!

  • 牛腩新聞釋出系統的釋出

        參考博文:

        win7下IIS的安裝和配置

        VS2010網站釋出詳解

        處理程式“PageHandlerFactory-Integrated”在其模組列表中有一個錯誤模組“ManagedPipelineHandler”

  • 分頁的製作

        儲存過程:

   -- =============================================
   -- Author:		xuchenyang
   -- Create date:      2014-9-3 22:31:21
   -- Description:	分頁的儲存過程
   -- =============================================
   Create PROCEDURE [dbo].[news_selectByPage]
   @startIndex int,
   @endIndex int
   AS
   BEGIN
   With temptbl as (
   SELECT ROW_NUMBER() OVER (ORDER BY id desc)AS Row,* from news 
  
   )
   SELECT * FROM temptbl where Row between @startIndex and @endIndex

   END

        DAL:

      #region 選擇分頁記錄
         public DataTable SelectNewsByPage(string startIndex, string endIndex)
        {
           
            DataTable dt=new DataTable();
            string cmdtext = "news_selectByPage";
            SqlParameter[] paras = new SqlParameter[] { new SqlParameter("@startIndex",startIndex),
            new SqlParameter("@endIndex",endIndex)};
            dt = sqlhelper.ExcuteQuery(cmdtext, paras, CommandType.StoredProcedure);
            return dt;

        }
      #endregion


        BLL:

      #region 分頁選擇記錄
        public DataTable SelectNewsByPage(string startIndex, string endIndex)
        {
            return ndao.SelectNewsByPage(startIndex,endIndex);
        }
      #endregion


        Web:

    開啟admin/newsmanager.aspx:

        工具箱空白處右擊--“選擇項”--瀏覽--找到已下載的AspNetPager.dll--拖到頁面中

      <div>
            <webdiyer:AspNetPager ID="anp" runat="server" onpagechanged="anp_PageChanged" PageSize="5" CssClass ="anp">
            </webdiyer:AspNetPager>
      </div>

      protected void Page_Load(object sender, EventArgs e)
     {
        //判斷session裡面是否存在管理員
        if (Session["admin"] != null && Session["admin"].ToString() == "niunan")
        {
            //已登入
           
            if (!Page.IsPostBack)
            {
                //設定分頁控制元件總的記錄條數(總的記錄條數/每頁的記錄條數Pagesize=頁數)
                anp.RecordCount = new NewsManager().SelectAll().Rows.Count;
                //繫結新聞
                BindNews();
                
            }
        }
        else
        {
            //未登入
            Response.Redirect("login.aspx");
        }
        
    }

    #region 繫結新聞列表
    private void BindNews()
    {
        //根據當前頁的起止記錄的序號,從資料庫中選出新聞,並繫結到控制元件上
        repNews.DataSource = new NewsManager().SelectNewsByPage(anp.StartRecordIndex.ToString(), anp.EndRecordIndex.ToString()); 
        repNews.DataBind();
    }
    #endregion
    protected void anp_PageChanged(object sender, EventArgs e)
    {

        //Response.Write("開始記錄數:" + anp.StartRecordIndex + "<br>結束記錄數" + anp.EndRecordIndex);
        //當前頁切換時,更新繫結的新聞
        BindNews();
    }

       CSS樣式:

     .anp
     {
   
      padding-left:200px;}

       效果圖:

      

       以上的內容很基礎,但是重要的是不斷積累,嘗試和探索!