ASP.NET MVC分页问题解决

时间:2022-09-06 19:47:14

在使用Ajax.Pager进行分页的时候需要注意一下几个方面:

  1、一定要引入jquery.unobtrusive-ajax.min.js这个js;

  2、一定要在页面中使用注册分页器,注册方法:@{Html.RegisterMvcPagerScriptResource();};

具体的使用方法示例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<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的方法如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/// <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;
    }

目前所知,该控件不支持显示记录总数及总页数。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。