public IActionResult Index(int p = 1) { var currentPageNum = p; var offset = (DefaultPageSize * currentPageNum) - DefaultPageSize; var model = new ProductListViewModel(); model.Products.Data = this.allProducts .Skip(offset) .Take(DefaultPageSize) .ToList(); model.Products.PageNumber = currentPageNum; model.Products.PageSize = DefaultPageSize; model.Products.TotalItems = allProducts.Count; return(View(model)); }
public IActionResult IndexAjax() { var model = new ProductListViewModel(); model.Products.Data = this.allProducts .Take(DefaultPageSize) .ToList(); model.Products.PageNumber = 1; model.Products.PageSize = DefaultPageSize; model.Products.TotalItems = allProducts.Count; return(PartialView("_PagingModal", model)); //if (HttpContext.Request.IsAjaxRequest()) //{ // return PartialView("_PagingModal", model); //} return(View(model)); }
//[Route("paging/ajaxpage/{page?}")] public async Task <IActionResult> AjaxPage(int?page) { ViewBag.Title = "Browse all products"; var currentPageNum = page.HasValue ? page.Value : 1; var offset = (DefaultPageSize * currentPageNum) - DefaultPageSize; var model = new ProductListViewModel(); model.Products.Data = this.allProducts .Skip(offset) .Take(DefaultPageSize) .ToList(); model.Products.PageNumber = currentPageNum; model.Products.PageSize = DefaultPageSize; model.Products.TotalItems = allProducts.Count; // simulate delay to show the loadinng indicator await Task.Delay(2000);//milliseconds return(PartialView("_ProductGrid", model)); }