如何以编程方式更新SharePoint Web部件中的内容?

时间:2009-01-27 22:06:55

标签: sharepoint web-parts

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

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

2 个答案:

答案 0 :(得分: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部件。

答案 1 :(得分:5)

您可能需要致电SPWeb.GetWebPartCollection并使用webpart集合来处理WebParts thusly