在ajax调用中获取sitecore项的最佳方法是什么

在ajax调用中获取sitecore项的最佳方法是什么,sitecore,sitecore6,sitecore7,sitecore7.2,sitecore-mvc,Sitecore,Sitecore6,Sitecore7,Sitecore7.2,Sitecore Mvc,考虑一下这个场景,当页面在页面上执行某些操作时,页面必须动态呈现内容 这里基本上,页面将包含一个呈现列表,在每个呈现中,我们将能够使用下面的语句获得当前项 var item = Sitecore.Mvc.Presentation.RenderingContext.Current.Rendering.Item; 现在,如果我必须在单击按钮时显示内容,我们将对我们的mvc控制器/操作执行一个ajax调用,在我们的操作中,我们可以通过以下语句呈现该项 Item item = SitecoreHel

考虑一下这个场景,当页面在页面上执行某些操作时,页面必须动态呈现内容

这里基本上,页面将包含一个呈现列表,在每个呈现中,我们将能够使用下面的语句获得当前项

 var item = Sitecore.Mvc.Presentation.RenderingContext.Current.Rendering.Item;
现在,如果我必须在单击按钮时显示内容,我们将对我们的mvc控制器/操作执行一个ajax调用,在我们的操作中,我们可以通过以下语句呈现该项

Item item = SitecoreHelper.GetSCDb().GetItem("{item id}");

但在这两种情况下,我们都必须硬编码id/路径

那么,有谁能告诉我,有没有更好的方法来做到这一点呢

我感谢你的帮助


干杯:

我在Sitecore+MVC项目上做的一件事是针对页面编辑器和JavaScript中的AJAX调用都将访问的内容项,正在该项模板中创建一个新设备\u StandardValues,我将查询设置为?AJAX=true。然后,我只把HTML片段放在没有样式的地方,把JS作为布局。而桌面视图具有AJAX调用后的外观。这不需要任何.net编码,全部通过sitecore完成

为什么不通过AJAX调用发送当前项目id作为参数?@Ahmed:我现在有两个问题。1.如何获取当前项目id?它将存放在哪里?2.如果我想访问与当前项不同的项,我该如何做?1在一个渲染中,您可以将当前项ID存储在隐藏输入中,例如,然后使用javascript,您可以获得隐藏项的值并通过AJAX发送。2您能澄清更多吗?2我希望在AJAX调用期间呈现的项与我在pageload期间呈现的项不同。例如:在页面加载期间,我将呈现项设置为content/Home/Item1,但在Ajax调用期间,我希望呈现content/Home/Item2。您仍然可以将Item2 ID存储在隐藏输入中,并通过Ajax调用发送,与前面的解决方案相同。请共享一些代码片段或屏幕截图。
Item item = SitecoreHelper.GetSCDb().GetItem("item path");