【问题标题】:Update cart summary automatically when unobtrusive add to cart action was called调用不显眼的添加到购物车操作时自动更新购物车摘要
【发布时间】:2012-01-26 21:53:22
【问题描述】:

我有一个购物车。我还有一个局部视图 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”操作后,应该如何更新购物车摘要?

【问题讨论】:

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


    【解决方案1】:

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

    return PartialView("Summary", someModelThatTheSummaryPartialExpects);
    

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

    【讨论】:

    • 我按照您的建议做了 - 它有效,但不是替换 div,而是在我第一次向购物车添加内容时附加该 div。
    • 我记得我上次的评论。我的 html 构造错误。谢谢@Darin Dimitrov
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-19
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    相关资源
    最近更新 更多