如何使用Sitecore使用ajax进行部分页面更新?

use*_*072 0 asp.net ajax webforms sitecore

我的Web应用程序中有一个特定的页面(sitecore内容项),由sitecore布局和许多子布局组成.其中一个子布局是一个用户控件,我希望在单击某个按钮后刷新.我希望只刷新子布局,并保持页面的其余部分保持不变(这里典型的ajax情况).当我的所有sitecore内容项与我的Web应用程序中的整页(与子布局布局)直接相关时,如何使用sitecore完成此操作?在我的例子中,我想使用ajax仅返回特定的单个子布局的内容.使用sitecore这种ajax情况的最佳做法是什么?我正在使用sitecore 6.5.

Ben*_*den 7

由于您使用短语"部分页面更新",我假设您使用的是UpdatePanel.这与传统的ASP.NET应用程序没有任何不同.您将在服务器端处理程序方法中处理按钮单击,修改控件上的属性并让更新面板处理其余部分.

如果您没有使用更新面板,则根据您要实现的目标,您可以选择一些选项.

通常,如果您单击按钮以触发ajax请求,则会将一些数据发回服务器.对于这种情况,您通常会设置一个Web服务来处理数据并返回一些结果.您的服务可以访问Sitecore数据,但不使用Sitecore演示引擎.

另一种选择是向Sitecore页面发出请求(可能与原始请求相同),但包含一个querystring参数来触发不同的设备.您可以将此设备配置为呈现JSON,XML或HTML片段,而不是正常的布局和子布局.

另一种选择是使用Sitecore Item Web API.如果你走这条路,你会有另一组选项(以及一点学习曲线).首先阅读SDN上的文档或关于该主题的一些博客文章.