Обновлять сводку корзины автоматически при вызове ненавязчивого добавления в корзину - PullRequest
1 голос
/ 27 января 2012

У меня есть корзина. У меня также есть частичное представление cartSummary - это простое частичное представление, в котором перечислены все предложения в корзине. Где-то на моей странице я нажимаю «добавить в корзину» Ajax.ActionLink, он добавляет выбранный контейнер в корзину следующим образом:

public ActionResult AddToCart(Cart cart, string offerId)
        {
            OffersServices offersServices = new OffersServices();
            var offer = offersServices.GetOfferDetails(offerId);
            if (offer != null && offer.Count > 0)
            {
                offersServices.GetImagesAndDescriptionForOffer(offer[0]);
                cart.AddOffer(offer[0]);
            }
            return Content("Offer added to the cart");
        }

Все работает нормально, за исключением того, что сводка корзины не обновляется. Следовательно, что нужно сделать, чтобы обновить сводку корзины после вызова действия «AddToCart»?

1 Ответ

1 голос
/ 27 января 2012

Вы можете вернуть частичное представление из вашего действия, которое будет указывать на сводное частичное и передать ему требуемую модель, чтобы оно могло обновить:

return PartialView("Summary", someModelThatTheSummaryPartialExpects);

, а затем вы проинструктируете свой Ajax.ActionLink:обновите сводку, используя свойство UpdateTargetId AjaxOptions и указав в нем элемент div, который будет содержать сводку.Теперь, когда вызов AJAX завершится успешно, часть, возвращенная действием вашего контроллера, будет введена в DOM и заменяет текущую сводку.

...