Asp.Net実装の汎用ページング関数

3531 ワード

本稿の例はAsp.Net実装の汎用ページング関数.皆さんの参考にしてください.具体的には以下の通りです.
機能:
1.各ページに9ページを表示し、9ページを超え、ポイント5ページ後の+1ページを表示する(任意に変更可能).CSSスタイルは自分で設定できます.どのようなコードも生成されず、検索エンジンの最適化に役立ちます.
ページングプログラム

objPDS = new PagedDataSource();
objPDS.DataSource = dtTable.DefaultView;//     
objPDS.AllowPaging = true;
objPDS.PageSize =10;//    
int curPage;
int cshi;
int jshi;
int zyes = Int32.Parse( objPDS.PageCount.ToString());
this.tjixx.Text = "   " + dtTable.Rows.Count + "    ";
this.tjixx.Text += "|  " + zyes + "  ";
if (Request.QueryString["Page"] != null)
{
  if (Int32.Parse(Request.QueryString["Page"]) > zyes)
    curPage = zyes;
  else
  curPage = Int32.Parse(Request.QueryString["Page"]);
}
else
{
  curPage = 1;
}
if (zyes <= 9)
{
  cshi = 1;
  jshi = zyes;
}
else
{
  if (curPage <= 5)
  {
    cshi = 1;
    jshi = 9;
  }
else
{
  cshi = curPage - 4;
  int jshils = curPage + 4;
  if (jshils > zyes)
    jshi = zyes;
  else
    jshi=curPage + 4;
}
}
objPDS.CurrentPageIndex = curPage - 1;
StringBuilder m_strPageInfo = new StringBuilder();
for (int i = cshi; i <=jshi; i++)
{
  if (i == Int32.Parse(curPage.ToString()))
    m_strPageInfo.Append("  " + i + "   ");
  else
    m_strPageInfo.Append("   " + i + "   ");
}
this.yemsl.Text = m_strPageInfo.ToString();
if (!objPDS.IsFirstPage)
{
  linkPre.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page" + Convert.ToString(curPage - 1);
  linkPre.NavigateUrl += ".html";
}
if (!objPDS.IsLastPage)
{
  linkNext.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page" + Convert.ToString(curPage + 1);
  linkNext.NavigateUrl += ".html";
}
linkFirstPage.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page1";
linkFirstPage.NavigateUrl += ".html";
linkEndPage.NavigateUrl = "newslist_ej" + Request.QueryString["wzcat"] + "_Page" + objPDS.PageCount.ToString();
linkEndPage.NavigateUrl += ".html";
this.DataList4.DataSource = objPDS;//       
this.DataList4.DataBind();


Aspxファイル:
改ページ:

<<     >> |

もっとaspについてNet関連内容に興味のある読者は、「asp.netファイル操作テクニックまとめ」、「asp.net ajaxテクニックまとめ」、「asp.netキャッシュ操作テクニックまとめ」を参照してください.
本文で述べたように皆さんにasp.Netプログラミングが役立ちます.