牛腩新聞釋出系統總結——網站釋出和分頁製作
阿新 • • 發佈:2019-02-04
牛腩新聞釋出系統的視訊看了將近半個月的時間,今天成功地把它釋出了,哈哈。第一次看教學視訊看得這麼專注,都不帶走思的,很不錯。給小牛老師贊一個,嘿嘿!
言歸正傳,每學完一個階段,最重要的就是總結,所以就允許我以倒序的形式,顆粒歸倉吧!
- 牛腩新聞釋出系統的釋出
參考博文:
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;}
效果圖:
以上的內容很基礎,但是重要的是不斷積累,嘗試和探索!