ASP.NET MVC改ページ問題解決


Ajax.Pagerを使って改ページするときは、いくつかの点に注意が必要です。
1、必ずjquery.unobtrusive-ajax.min.jsというjsを導入します。
2、必ずページの中でセパレータを登録してください。登録方法:@{Html.Register MvcPager ScripptResource();
具体的な使用方法の例:

<div class="row" style="position: relative; left: 30%">
  <div class="col-md-8" style="width: auto">
    @{
      PagerConfig pagerConfig = new PagerConfig("pageIndex", "pageIndexBox", "goToBtn");
      PagerOptions options = pagerConfig.GetPagerOption();
    }
    @Ajax.Pager(Model, options).AjaxOptions(a => a.SetUpdateTargetId("articles").SetHttpMethod("Post").SetDataFormId("searchView"))
  </div>
  <div class="col-md-4">
    <div class="input-group" style="width: 120px; margin: 20px 0">
      <input type="text" id="pageIndexBox" class="form-control" />
      <span class="input-group-btn"><button class="btn btn-primary" id="goToBtn">  </button></span>
    </div>
  </div>
</div>
ModelはIpagedListオブジェクトであり、PagerOptionsを取得する方法は以下の通りである。

/// <summary>
    ///      
    /// </summary>
    /// <returns></returns>
    public PagerOptions GetPagerOption()
    {
      PagerOptions options = new PagerOptions
      {
        AutoHide = false,
        FirstPageText = "  ",
        LastPageText = "  ",
        NextPageText = "   ",
        PrevPageText = "   ",
        PageIndexParameterName = this._pageIndexParaName,
        ContainerTagName = "ul",
        CssClass = "pagination",
        CurrentPagerItemTemplate = "<li class=\"active\"><a href=\"#\">{0}</a></li>",
        DisabledPagerItemTemplate = "<li class=\"disabled\"><a>{0}</a></li>",
        PagerItemTemplate = "<li>{0}</li>",
        PageIndexBoxId = this._pageIndexBoxId,
        GoToButtonId = this._goToButtonId,
        NumericPagerItemCount = 5
      };

      return options;
    }

現在のところ、このコントロールは、記録総数および全ページ数の表示をサポートしていません。
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。