How can I do a partial page update with ajax using Sitecore?(如何使用Sitecore使用Ajax进行部分页面更新?)
问题描述
我的Web应用程序中有一个由Sitecore布局和许多子布局组成的特定页面(Sitecore内容项)。其中一个子布局是我希望在单击某个按钮后刷新的用户控件。我只希望刷新该子布局,页面的睡觉保持不变(这里是典型的AJAX情况)。当我的所有Sitecore内容项目都直接与Web应用程序中的整个页面(有子布局)相关时,我如何使用Sitecore实现这一点?在我的例子中,我只想使用Ajax返回特定的单个子布局的内容。使用Sitecore处理这种Ajax情况的最佳实践是什么?我正在使用Sitecore 6.5。
推荐答案
有许多选项可用于实现异步行为。所有这些实际上都与Sitecore没有直接关系,但是,有一些Sitecore特定的事情需要注意,我在下面突出显示了。
UpdatePanel控件
如果您正在执行一些微不足道的操作,而超快性能不是问题,只需包装您的按钮(以及您需要的任何其他.NET控件 如更新)中的UpdatePanel Control。你还需要放下 将ScriptManager
控件放到靠近内部顶部的基本布局中<form>
元素。注意:使用此方法时,您需要确保您的子布局没有启用缓存,否则您的按钮将无法正确回发创建您自己的Web服务
在此场景中,有许多客户端框架可用于实现相同的结果。我的首选方法是使用jQuery连接到客户端按钮单击事件,准备一个请求对象,然后将其发布到服务器(获取更新客户端所需的信息)。以下是许多与Sitecore一起使用的Web服务选项,使您可以访问
Sitecore.Context
和所有后续Sitecore API。创建接受参数作为查询字符串的空ASPX Web表单。在
Page_Load
方法中,对参数做一些工作,并使用Response.Write()
直接写入响应。AJavaScriptSerializer
对于序列化到JSON很方便,只需确保设置Response.ContentType = "text/javascript";
创建ASMX Web Service并使用
[WebMethod]
修饰您的方法(如果需要访问会话数据,则使用[WebMethod(EnableSession = true)]
)。使用MVC控制器(例如:ASP.NET Web Api)创建API。我认为在Sitecore 6.5中有一些需要解决的问题,如here所述。
这篇关于如何使用Sitecore使用Ajax进行部分页面更新?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何使用Sitecore使用Ajax进行部分页面更新?


基础教程推荐
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 如何激活MC67中的红灯 2022-01-01
- MS Visual Studio .NET 的替代品 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01