javascript - Kentico:使用 ajax 让一个 Web 部件重新加载第二个 Web 部件

标签 javascript asp.net ajax postback kentico

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

一个示例是将商品添加到购物车:如果用户单击“将商品添加到购物车”按钮(第一个 Web 部件),则页眉中的购物车(第二个 Web 部件)中的商品总数应更新无需重新加载整个页面。

我知道如何使用 ASP.NET MVC 应用程序执行此操作,但我尚未弄清楚如何使用 Kentico 执行此操作。

最佳答案

这是不可能开箱即用的。您有两个选择:

  1. 创建 Web 部件的副本并根据您的需要进行调整。这是一个更干净的解决方案,但可以避免。
  2. 为所需的 Web 部件启用“使用更新面板”,并通过 JavaScript 以编程方式进行刷新。如果只是网站的一小部分(例如更新项目总数的文本),我不会担心它。

我将“项目总数”(我猜您使用购物车预览)Web 部件包装在 div 中(使用容器或内容之前/之后的属性),并给它一个类(例如 .cartInfo )。然后查询它并通过调用 ASP.NET 的 __doPostBack() 刷新底层 UpdatePanel (div)。

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

然后,您可以使用 addEventListener/attachEvent 将这段代码挂接到页面上的任何事件。在您的情况下,这将是“添加到购物车”按钮的“点击”事件。我的示例是普通 JS,但您当然可以使用 jQuery 来完成这一切。

关于javascript - Kentico:使用 ajax 让一个 Web 部件重新加载第二个 Web 部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33354129/

相关文章:

javascript - 单击外部时如何关闭 Angular-bootstrap 弹出窗口

javascript - 如何在 parent 调整大小时重新呈现 react-grid-layout 列的宽度?

javascript - 手动添加片段到react-ace编辑器

javascript - Flask 使用 AJAX 上传文件和按钮提交不起作用

javascript 连接到网站代码不起作用

javascript - 在代码中包含客户端 ID 和客户端密码是否存在安全风险?

asp.net - Ajax 控件工具包 Hover Menu with GridView

asp.net - 405 方法选项不允许在 asp.net web api Controller 中使用?

c# - ASP.NET MVC 中的基本 "add user/edit user"表单例份验证功能

php - 如何将 Jquery 变量值发送或分配给 php 变量?