在调用不显眼的添加到购物车操作时自动更新购物车摘要

时间:2012-01-26 21:53:22

标签: asp.net-mvc-3 shopping-cart

我有一个购物车。我还有一个局部视图cartSummary - 它是一个简单的局部视图,列出了购物车中的所有商品。 在我的页面的某个地方,我点击“添加到购物车”Ajax.ActionLink,它将选定的oofer添加到购物车,如下所示:

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 个答案:

答案 0 :(得分:1)

您可以从操作中返回一个部分视图,该视图将指向摘要部分,并将所需模型传递给它以便更新:

return PartialView("Summary", someModelThatTheSummaryPartialExpects);

然后您将指示您的Ajax.ActionLink使用UpdateTargetId的{​​{1}}属性更新摘要,并将其指向将包含摘要的div。现在,当AJAX调用成功时,控制器操作返回的部分将被注入DOM并替换当前摘要。