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());
        }