【问题标题】:SharePoint 2013 clients side refresh caml query of xsltlistviewwebpartxsltlistviewwebpart的SharePoint 2013客户端刷新caml查询
【发布时间】:2015-09-28 18:12:21
【问题描述】:

我有一个 SharePoint 2013 服务器。 我需要从基于 CAML 查询客户端的文档库中获取内容。是否有任何选项可以通过开箱即用的 Web 部件实现这一目标? 我尝试了使用参数绑定的 xsltlistviewwebpart,但在从 javascript 加载页面后我无法更改参数。手动刷新 Web 部件只是刷新具有相同查询的数据。

也许有查询 SharePoint REST 服务并将结果绑定到某些现成 Web 部件的选项?还是只能手动渲染数据?

谢谢!

【问题讨论】:

  • 什么版本的 SharePoint 2013 ?企业有一个内容搜索 Web 部件。
  • @PhilippeLavoie,谢谢您的回答。企业。我可以通过javascript动态设置CSWP客户端的搜索查询吗?
  • CSWQ 将被配置为搜索特定项目。此搜索将在客户端基础上进行。应该是异步的。为什么需要 JS 代码?
  • 我想实现仅客户端的解决方案(没有服务器端代码)。取决于查询参数,我需要为数据调用外部 Web 服务(在我的情况下为文件夹的 URL),然后对该数据执行搜索或查询(我需要在此文件夹中显示文档)。我可以使用自定义渲染来做到这一点,但我认为更好的方法是使用开箱即用的 Web 部件。但都说不可能。

标签: sharepoint client-side sharepoint-2013


【解决方案1】:

如果您的 CAML 查询足够短,可以通过 QueryString 传递,那么您可以使用 QueryString 参数绑定。

绑定:

<ParameterBinding Name="CAML" Location="QueryString(CAML)" DefaultValue="" />

查询:

<Query>{CAML}</Query>

至于刷新 XsltListViewWebPart 下面的 AJAX 选项应该启用:

Enable Asynchronous Update
Show Manual Refresh Button

示例 CAML:

<Where>
    <Eq>
         <FieldRef Name="ID" />
         <Value Type="Number">1</Value>
    </Eq>
</Where>

因此您可以使用带有编码 CAML 的链接,例如

/Lists/SampleList/CustomView.aspx?CAML=%3CWhere%3E%3CEq%3E%3CFieldRef%20Name%3D%22ID%22%20%2F%3E%3CValue%20Type%3D%22Number%22%3E1%3C%2FValue%3E%3C%2FEq%3E%3C%2FWhere%3E

如果需要可以用JS触发手动刷新按钮

你也可能对alternative binding locations感兴趣

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多