在SharePoint页面中如何显示来自其他网站的List
为了方便用户使用,我们会把SharePoint网站设计成层次结构,并希望用户在主页上看到来自子网站的内容。比如希望把放在父网站的一个列表的内容显示在子网站的主页上面。这种需求看起来稀松平常,但实际上不容易。
为了说明方便,我把列表所在的网站称为源网站,需要显示WebPart的网站称为目标网站。
实现思路很简单:在源网站的页面上插入一个列表WebPart,然后导出该WebPart,在目标网站上,将刚导出的WebPart导入,之后在目标网站的页面上插入导入的WebPart。
如何导出一个WebPart。首先打开页面,进入编辑模式,在WebPart右上角有个小三角,点开是一个菜单,有个命令"导出",页面会弹出保存WebPart文件,先把它保存到本地。
如果没有导出命令怎么办?请看《恢复导出XSLT List View WebPart》
来一段小插曲,为了在其他网站能够使用该WebPart,需要修改下导出来的文件。用记事本打开它。找到<property name="WebId"节点,将源网站的WebID替换节点内容。WebID可以通过下面的PowerShell脚本获得。
if ((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null)
{
Add-PSSnapin Microsoft.SharePoint.PowerShell;
}
$web = Get-SPWeb http://chenweifeng
Write-Output $web.ID
为了能够在插入WebPart的时候能够选到刚才导出的WebPart,需要将刚才导出的WebPart上传到Web部件库中。Web部件库的地址是/catalogs/wp/ 。
现在就可以在同一网站集的任何网站插入刚才的WebPart了!
插入之后,还可以对该WebPart进行编辑。