在mvc应用程序中使用gridmvc时如何获取当前页码?

时间:2014-08-05 10:27:00

标签: jquery asp.net-mvc

我正在开发mvc应用程序。我使用grid mvc作为索引视图。当我点击mvc grid pager的页码时,我想将当前页码传递给控制器​​。

索引视图代码如下

@Html.Grid(Model).Columns(columns => 
                    {
                        columns.Add(c => c.Code).Titled("Code").SetWidth(400).Css("numbers");
                        columns.Add(c => c.Name).Titled("Name").SetWidth(800);                   
                        columns.Add(c => c.City).Titled("City").SetWidth(400);
                        columns.Add(c => c.MobileNo).Titled("Mobile No").SetWidth(400);
                        columns.Add(c => c.Email).Titled("Email").SetWidth(400);

                        columns.Add().Titled("").Sanitized(false).Encoded(false).RenderValueAs(o => GridManageItemColumn1(o.Id).ToHtmlString());
                        columns.Add().Titled("").Sanitized(false).Encoded(false).RenderValueAs(o => GridManageItemColumn2(o.Id).ToHtmlString());
                    }).WithPaging(12).Sortable(true).Filterable(true)

如何使用jquery获取当前页码。

谢谢。

1 个答案:

答案 0 :(得分:0)

我解决了这个问题,

我在视图中使用了以下代码

@model PagedList.IPagedList<Epay.ViewModel.PurchaseOrderVM>

@using GridMvc.Html
@using PagedList.Mvc;
@using PagedList;
@Html.Grid(Model).Columns(columns => 
                    {
                        columns.Add(c => c.Code).Titled("Code").SetWidth(400).Css("numbers");
                        columns.Add(c => c.Name).Titled("Name").SetWidth(800);                   
                        columns.Add(c => c.City).Titled("City").SetWidth(400);
                        columns.Add(c => c.MobileNo).Titled("Mobile No").SetWidth(400);
                        columns.Add(c => c.Email).Titled("Email").SetWidth(400);

                        columns.Add().Titled("").Sanitized(false).Encoded(false).RenderValueAs(o => GridManageItemColumn1(o.Id).ToHtmlString());
                        columns.Add().Titled("").Sanitized(false).Encoded(false).RenderValueAs(o => GridManageItemColumn2(o.Id).ToHtmlString());                      }).WithPaging(12).Sortable(true).Filterable(true)  
  @Html.PagedListPager(Model, page => Url.Action("Index", new { page }))    

在控制器中我返回List如下

public ActionResult Index(int? page)
{
 var skip = (page ?? 1);
 var take = 10;
 int POCount = POService.GetAll().Count();


var POList = POService.GetPoList((skip - 1) * take, take);
var PurchseOrderList = new StaticPagedList<PurchaseOrderVM>(POList, skip, take, POCount);
                    return View(PurchseOrderList);
}

这段代码对我有用。