パブリック静的MvcHtmlString PagerAjax(このHtmlHelperのHtmlHelperの、文字列ctnrId、文字列actionNameの、文字列コントローラ名、RouteValueDictionary routeValues、PagerConfig pageConfig、文字列ctrlId、文字列のCssClass、int型digitalLinkNum、ブールshowTotalRecord、ブールshow現在のページ、ブールshowTotalPage、ブールshowSelect、BOOL showInput)

  {

  UrlHelper _url =新しいUrlHelper(HtmlHelperの.ViewContext.RequestContextの);

  StringBuilderの_strBuilder =新しいStringBuilderの( "

「);

  (showTotalRecord)の場合_strBuilder.追加( "合計" + pageConfig.TotalRecord + pageConfig.RecordUnit + pageConfig.RecordName + "");

  (showCurrentPage)_strBuilder場合.追加( "ページ" + pageConfig.PageSize + pageConfig.RecordUnit + "");

  (showTotalPage)_strBuilder場合.追加( "最初" + pageConfig.currentPageに+ "/合計" + pageConfig.TOTALPAGE + "P");

  //ホームリンク

  (pageConfig場合.currentPageに> 1)

  {

  routeValues [ "ページ"] = 1.

  _strBuilder.追加( "「);

  }

  他_strBuilder.追加( "「);

  //前

  (pageConfig場合.currentPageに> 1)

  {

  routeValues [ "ページ"] = pageConfig.currentPageに - 1.

  _strBuilder.追加( "「);

  }

  他_strBuilder.追加( "「);

  //デジタルナビゲーションを開始

  int型_startPage、_endPage.

  //合計表示されるページの数ページ数よりも少ない、ページ表示すべて

  もし(digitalLinkNum> = pageConfig.TOTALPAGE){_startPage = 1; _endPage = pageConfig.TOTALPAGE;}

  //他には、ページの指定された数を表示します

  {

  int型_forward =(int型)数学.天井(digitalLinkNum / 2.0).

  (pageConfig場合.currentPageに> _forward)//開始ページ番号が1より大きい

  {

  _endPage = pageConfig.currentPageに+ digitalLinkNum - _forward.

  もし(_endPage> pageConfig.ページ番号を終了TOTALPAGE)//は、最後のページ、全ページの終了ページよりも大きいです

  {

  _startPage = pageConfig.TOTALPAGE - digitalLinkNum.

  _endPage = pageConfig.TOTALPAGE;

  }

  他_startPage = pageConfig.currentPageに - _forward.

  }

  1から始まる他//開始ページ番号

  {

  _startPage = 1.

  _endPage = digitalLinkNum.

  }

  }

  //アップ.

  (_startPage> 1)の場合

  {

  routeValues [ "ページ"] = _スタートページ - 1.

  _strBuilder.追加( ".「);

  }

  //デジタル

  以下のための(int型I = _startPage; I <=_endPage; i++)

  {

  もし私が != PageConfig.現在のページ)

  {

  routeValues [ "ページ"] = I;

  _strBuilder.追加( "「+ I.ToStringメソッド()+ "「);

  }

  そうしないと

  {

  _strBuilder.追加( "「+ I.ToStringメソッド()+ "「);

  }

  }

  //ダウン…

  (_endPage場合 < pageConfig.TotalPage)

  {

  routeValues [ "ページ"] = _ ENDPAGE + 1.

  _strBuilder.追加( "「);

  }

  ////エンドデジタルナビゲーション

  //次と最後

  (pageConfig場合.CurrentPage < pageConfig.TotalPage)

  {

  routeValues [ "ページ"] = pageConfig.currentPageに+ 1;

  _strBuilder.追加( "次のページ「);

  routeValues [ "ページ"] = pageConfig.TOTALPAGE;

  _strBuilder.追加( "最後のページ「);

  }

  他_strBuilder.追加( "次のページ最後のページ「);

  //ページ番号]ドロップダウンボックスを表示します

  もし(showSelect)

  {

  routeValues [ "ページ"] = " - nspageselecturl-".

  _strBuilder.追加(「ジャンプへページ");

  _strBuilder.追加( "「);

  }

  //ページ番号入力ボックスを表示します

  もし(showInput)

  {

  routeValues [ "ページ"] = " - nspagenumurl-".

  _strBuilder.追加(「ゴーページ");

  _strBuilder.追加( "「);

  }

  _strBuilder.追加( "「);

  _strBuilder.追加( "

「);

  リターンMvcHtmlString.(_strBuilderを作成します..ToStringメソッド()).

  }

(上)MVC4ページングコントロールを作成する方法を学びます

Recommend Article: