我有一个购物车。我还有一个局部视图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”操作后,为了更新购物车摘要应该怎么做?
答案 0 :(得分:1)
您可以从操作中返回一个部分视图,该视图将指向摘要部分,并将所需模型传递给它以便更新:
return PartialView("Summary", someModelThatTheSummaryPartialExpects);
然后您将指示您的Ajax.ActionLink使用UpdateTargetId
的{{1}}属性更新摘要,并将其指向将包含摘要的div。现在,当AJAX调用成功时,控制器操作返回的部分将被注入DOM并替换当前摘要。