Kentico:让一个webpart使用ajax

时间:2015-10-26 19:36:08

标签: javascript asp.net ajax postback kentico

我正在尝试在Kentico中构建的场景是在一个Web部件中执行用户操作,导致重新加载/更新第二个Web部件而不重新加载整个页面。

示例是将商品添加到购物车:如果用户点击“添加商品到购物车”按钮(第一个webpart),那么页眉中购物车(第二个网页部件)中的商品总数应该更新没有重新加载整个页面。

我知道如何使用ASP.NET MVC应用程序执行此操作,但我还没有想出如何使用Kentico执行此操作。

1 个答案:

答案 0 :(得分:5)

这不是开箱即用的。您有两种选择:

  1. 创建Web部件的副本并根据您的需要进行调整。这是一个更清洁的解决方案,但可以避免。
  2. 为所需的Web部件启用“使用更新面板”,然后通过JavaScript以编程方式进行刷新。如果只是网站的一小部分(比如更新项目总数),我不会害怕。
  3. 我将div中的“item total”(我猜你使用购物车预览版)web部分包裹起来(使用容器或属性之前/之后的内容)并给它一个类(例如.cartInfo )。然后通过调用ASP.NET的UpdatePanel来查询并刷新基础div__doPostBack())。

    __doPostBack(document.querySelector(".cartInfo div").id,'');
    

    然后,您可以使用addEventListener / attachEvent将此段代码挂钩到页面上的任何事件。在您的情况下,它将是{添加到购物车“按钮的click事件。我的例子是vanilla JS,但你当然可以使用jQuery来完成所有这些。