zoukankan      html  css  js  c++  java
  • 在SharePoint Foundation 2010中显示来自其他站点的列表

    SharePoint Foundation 锁定为只能显示同一个网站下的列表数据源,幸亏有SharePoint WebService,使得我们有办法解决该问题。

    这里我们用到的WebService是 http://ServerName/_vti_bin/List.asmx。

    准备工作

    为了演示,我们创建一个带有筛选条件的列表,只要勾选了"发布到主站点"(注意:这不是一个内置的栏,需要你手工创建)的列表项都将显示在我们最终的结果页面上。

    这是一种隔离小组站点和企业公共站点访问的很好的方式。可以将通知集中显示在一个位置,访问通知的用户可以不必具有小组站点的访问权限,而维护权可以下放到各个小组。

    需要一个视图来筛选发布的数据。

    1、打开列表设置。 

    在页面下方找到“创建视图”,点击。

    选择标准视图

    根据“发布到主站点”一栏对视图进行筛选。

    这样,视图就建好了。点击它来查看列表和视图ID。

    这里要把“%20”替换成“-”。本例中显示的列表ID为626e3c75%2D735e%2D4be6%2Dbb5d%2D9156cb780ae0 ,替换后为626e3c75-735e-4be6-bb5d-9156cb780ae0 。视图ID也是如此。记下来以便在下面的步骤中使用。

    列表数据源的准备工作完成了。

    开始

    首先,我们需要在SharePoint Designer中创建一个数据源。打开SharePoint Designer并连接到目标站点(也就是将要在上面显示通知的站点)。

    点击左侧导航区的“数据源”,点击SOAP服务连接,以便开始定义我们的数据源。

    服务说明位置:填写通知列表所在的站点对应的列表WebService地址,本例中为http://sp2010u/it/_vti_bin/Lists.asmx:WSDL

    数据命令:选择

    端口:ListsSoap

    操作:GetListItems

    参数:我们需要填写listname和viewname,值为上面我们记下的列表和视图ID。 

    转到常规选项卡,起一个名字。

    接下来在登录选项卡中定义安全上下文。注意:如果使用Windows身份验证的话,你需要在通知列表上为用户配置查看权限,以便可以访问通知。这里我们使用的是两层发布(正如上面我们讨论的一样),并不想为每个用户指定访问权限,因此选择了指定访问凭据的方式。

    然后,打开我们需要显示通知内容的页面,插入一个数据视图。选择前面创建的SOAP服务。

    通知列表就会显示在页面上。但是你需要做一些清理工作。比如修改标题栏的文字,将正文字段格式化为RTF(富文本),删除作者一栏中的一些特殊字符(可以通过修改字段的xslt为<xsl:value-of select="substring-after(@ows_Author,'#')"/>)等等。

    完成!

    另一个小技巧是:你可以合并不同列表的数据。比如从多个小组站点中发布的通知,合并后统一显示在主站点中。只需要使用“链接数据源”并选择需要合并的列表即可。

    参考资料

    Displaying a SharePoint List from another team site in SharePoint Foundation 2010

  • 相关阅读:
    序列JSON数据和四种AJAX操作方式
    jquery.validate和jquery.form.js实现表单提交
    JQuery Validate使用总结1:
    HOWTO: Include Base64 Encoded Binary Image Data (data URI scheme) in Inline Cascading Style Sheets (CSS)(转)
    SharePoint 2007 使用4.0 .Net
    动态IP解决方案
    取MS CRM表单的URL
    从Iframe或新开的窗口访问MS CRM 2011(转)
    Toggle or Hidden MS CRM Tab
    Windows 2008下修改域用户密码
  • 原文地址:https://www.cnblogs.com/Sunmoonfire/p/1781109.html
Copyright © 2011-2022 走看看