Kentico:让一个web部件使用ajax重载另一个web部件
Kentico: have one webpart reload a second webpart using ajax
我试图在Kentico中构建的场景是在一个web部件中有一个用户操作,导致重新加载/更新第二个web部件而无需重新加载整个页面。
一个例子是将商品添加到购物车中:如果用户点击"将商品添加到购物车"按钮(第一个web部件),那么页面头中的购物车(第二个web部件)中的商品总数应该更新,而无需重新加载整个页面。
我知道如何用ASP做到这一点。. NET MVC应用程序,但我还没有弄清楚如何做到这一点与Kentico。
这是不可能开箱即用的。您有两个选项:
- 创建web部件的副本并根据您的需要进行调整。这是一个更干净的解决方案,但可以避免。
- 打开"使用更新面板"所需的web部件,并通过JavaScript编程刷新。如果这只是网站的一小部分(比如更新项目总数的文本),我不会担心。
我会包装"项目总数"(我猜你使用购物车预览)web部件在一个div(使用容器或内容之前/之后的属性),并给它一个类(例如.cartInfo
)。然后通过调用ASP对其进行查询并刷新底层的UpdatePanel
(div
)。. NET的__doPostBack()
.
__doPostBack(document.querySelector(".cartInfo div").id,'');
然后,您可以使用addEventListener
/attachEvent
将这段代码与页面上的任何事件挂钩。在您的情况下,它将是click
事件的"添加到购物车"按钮。我的例子是普通的JS,当然你也可以用jQuery来做这些。
相关文章:
- Ajax对web URL的调用导致javascript错误
- 无法在Windows 10 Cordova应用程序中从Web视图进行ajax调用
- Ajax不调用Web服务
- Ajax发布到双节点NLB上的web服务
- 可以't使用ajax调用将值传递给Web服务
- 从 Web Worker 执行 AJAX 请求是否可行
- 获取AJAX中未定义的值(x),web api
- ajax 可以使用绝对 url 来调用 Web 服务吗?
- 使用Java脚本跟踪网页中是否有Ajax请求,或者通过Selenium Web驱动程序拦截XMLHttpRequest
- 将通过Ajax(和Web Service方法)获得的数组转换为javascript数组
- 在drawImage、C#、AJAX、ASP.NET之后将图像从画布保存到Web服务器
- Python Flask Web服务器未接收到JSON ajax POST请求,服务器返回HTTP 200 OPTION
- 使用ajax将数据发布到asmx web服务并使用javascript函数在html页面中编写响应时出错
- Eclipse Web Development - 安装哪些插件以及如何获取 Dojo, Ajax - 所见即所得开发
- Ajax 对 Web 方法 asp.net 调用不会触发
- 现有的Web浏览器“chrond”(或等效)机制与JavaScript / AJax一起使用
- 如何使用 AJAX 发送 POST 数据?以及如何在Web API中获取POST数据
- Web应用程序的体系结构/设计,对另一台服务器进行了大量Ajax调用
- 通过电子邮件将 AJAX POST 发送到 Web API
- Web 服务 AJAX 发布在 iOS 上收到错误 400