public ActionResult Index(string coffeeCode = "StarbucksBlonde", int page = 1) { var result = new CoffeeFlavorListView() { CurrentCoffee = coffeeCode, Flavors = rFlavor.GetList(p => p.Coffee.Code == coffeeCode) .OrderBy(p => p.Id) .Skip((page - 1) * pageSize) .Take(pageSize).ToList(), PagingInfo = new PagingInfo() { CurrentPage = page, ItemsPerPage = pageSize, TotalItems = rFlavor.GetList(p => p.Coffee.Code == coffeeCode).Count() } }; return PartialView(result); }
public static MvcHtmlString FlavorPageLinks(this AjaxHelper html, CoffeeFlavorListView coffeeFlavor/*, Func<int, string> pageUrl*/) { StringBuilder result = new StringBuilder(); var options = new AjaxOptions() { UpdateTargetId = "customer-content", //OnComplete = "CalculateQuantity()", InsertionMode = InsertionMode.Replace, HttpMethod = "POST" }; for (int i = 1; i <= coffeeFlavor.PagingInfo.TotalPages; i++) { var link = html.ActionLink(i.ToString(), "Index", "Flavor", new { coffeeCode = coffeeFlavor.CurrentCoffee, page = i }, options, new { @class = (coffeeFlavor.PagingInfo.CurrentPage == i ? "selected" : null) }); result.Append(link.ToString()); } return MvcHtmlString.Create(result.ToString()); }