7

有人知道如何以编程方式更新任何标准 SharePoint v3 Web 部件的内容吗?

例如,将链接摘要 Web 部件放在页面上。添加一些链接。现在,如何使用 WSS API 更新这些信息?我还没有找到任何直接的方法来做到这一点,到目前为止我唯一的想法是导出 Web 部件(然后将其删除),修改生成的 XML,然后将其导入回来。但可以肯定的是,一定有更简单的方法吗?

4

2 回答 2

9

您可以使用SPLimitedWebPartManager类来操作 Web 部件页上的 Web 部件。可以从 SPFile 对象中获取此类的实例,如下所示:

using (SPSite site = new SPSite("<site url>"))  // e.g. http://server/sites/asite
using (SPWeb web = site.OpenWeb())
{
    SPFile file = web.GetFile("<page url>");   // e.g. /sites/asite/default.aspx
    SPLimitedWebPartManager lwpm = file.GetLimitedWebPartManager();
    SPLimitedWebPartCollection webParts = lwpm.WebParts;
    WebPart wp = webParts[<id, index or Guid>];

    // Add your code to update the Web Part

    lwpm.SaveChanges(wp);
}

您还可以使用 SPLimitedWebPartManager 添加或删除 Web 部件。

于 2009-01-28T18:06:48.960 回答
5

您可能需要调用SPWeb.GetWebPartCollection并使用 webpart 集合来弄乱WebParts

于 2009-01-27T22:39:40.547 回答