• (上)MVC4ページングコントロールを作成する方法を学びます
  •   パブリック静的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