AspNetPager分頁
阿新 • • 發佈:2019-01-12
【介紹】
AspNetPage針對.NET分頁控制元件的不足,提出了與眾不同的解決.NET分頁問題的方案,即將分頁導航功能與資料顯示功能完全獨立開來,由使用者自己控制資料的獲取及顯示方式,因此可以被靈活地應用於任何需要實現分頁導航功能的地方。
【實現】
一、下載AspNetPager分頁控制元件
點選下載
二、新增控制元件
-
先把下載的檔案放在一個比較容易找到的地方
-
在工具箱中右擊——選擇項——com元件——瀏覽——找到下載好的AspNetPager.dll檔案——確定
-
在Web層新增引用——(左側)瀏覽——(右下角)瀏覽——AspNetPager.dll
檔案——確定
三、前臺顯示程式碼Newsmanager.aspx
<webdiyer:AspNetPager ID="AspNetPager1" runat="server" Width="100%" NumericButtonCount="6" UrlPaging="true" CustomInfoHTML="總計%RecordCount%條記錄,共%PageCount%頁" ShowCustomInfoSection="left" FirstPageText="首頁" LastPageText="末頁" NextPageText="下頁" PrevPageText="上頁" Font-Names="Arial" BackColor="#F8B500" AlwaysShow="true" ShowInputBox="Always" SubmitButtonStyle="botton" OnPageChanged="AspNetPager1_PageChanged"> </webdiyer:AspNetPager>
四、Newsmanager.aspx.cs程式碼
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { BindGrid(); AspNetPager1.RecordCount = new NewsManager().SelectAll().Rows.Count; } } protected void AspNetPager1_PageChanged(object sender, EventArgs e) { BindGrid(); } private void BindNews() { repNews.DataSource = new NewsManager().FenyeSelect(AspNetPager1.StartRecordIndex, AspNetPager1.EndRecordIndex); repNews.DataBind(); }
五、D層程式碼
想更加清楚的瞭解row_number()排序函式的請點選下面連結
ROW_NUMBER() 排序函式
public DataTable FenyeSelect(int startIndex,int endIndex)
{
string sql = "with template as (select ROW_NUMBER() over(order by ID desc) as 行號,*from News) select * from template where 行號 between @startIndex and @endIndex";
SqlParameter[] sqlParameters = { new SqlParameter("@startIndex", startIndex),
new SqlParameter("@endIndex",endIndex)};
DataTable dt = new SQLHelper().ExecuteQuery(sql, sqlParameters, CommandType.Text);
return dt;
}
六、B層程式碼
public DataTable FenyeSelect(int startIndex,int endIndex)
{
return nado.FenyeSelect(startIndex, endIndex);
}