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

Mag*_*son 7 sharepoint web-parts

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

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

Lar*_*rup 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);
}
Run Code Online (Sandbox Code Playgroud)

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


Nat*_*Nat 5

你可能会需要调用SPWeb.GetWebPartCollection并使用web部件集合惹的WebParts 正是如此

  • 请注意,这已被弃用,并由SP2010中的@Lars答案取代. (3认同)