【问题标题】:Sharepoint 2010 Listing of what pages a webpart is used onSharepoint 2010 列出使用 Web 部件的页面
【发布时间】:2011-07-30 22:42:01
【问题描述】:

我一直在尝试使用对象模型并爬取页面并列出页面上的所有 Web 部件。我一直在使用 powershell,但我对其他想法持开放态度。

我遇到的问题是在使用 GetLimitedWebPartManager 时,我在页面上获得了 webparts 的列表,到目前为止很好。但如果我更改 Web 部件的标题,我将无法将其链接回原始 Web 部件。

例如,如果我在 Web 部件库中有一个标题为“我的 Web 部件”的 Web 部件,并且我在页面 A 上使用它。我在 Powershell 列表中看到了 Web 部件“我的 Web 部件”。如果我在页面或其他页面上再次添加此 Web 部件并将标题更改为“您的 Web 部件”,它会以新标题显示在列表中,我无法将这 2 个 Web 部件链接在一起,实际上表明该 Web 部件正在使用了 2 次。

我检查了IDTitleUniqueIDDisplayTitle,但看不到任何链接。

任何帮助将不胜感激。

【问题讨论】:

  • 您能否显示您用于获取页面上 WebPart 列表的代码?

标签: powershell sharepoint-2010 web-parts


【解决方案1】:

您应该能够按类型链接 webpart:

$w = Get-SPWeb http://localhost
$f = $w.GetFile("default.aspx")
$m = $f.GetLimitedWebPartManager([System.Web.UI.WebControls.WebParts.PersonalizationScope]::Shared)
$m.WebParts | % { $_.GetType().Name }

此代码将为页面上的每个 web 部件输出类型,因此您可以识别页面上一个 web 部件的多次使用(无论标题如何)。

【讨论】:

    猜你喜欢
    • 2011-10-21
    • 2014-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 2012-03-19
    • 2013-05-26
    • 2010-12-10
    相关资源
    最近更新 更多