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

如何以编程方式更新SharePoint Web部件中的内容?,sharepoint,web-parts,Sharepoint,Web Parts,有人知道如何以编程方式更新任何标准SharePoint v3 Web部件的内容吗 例如,在页面上放置一个链接摘要Web部件。添加一些链接到它。现在,如何使用WSS API更新这些信息? 我还没有找到任何直接的方法来做到这一点,到目前为止,我唯一的想法是导出Web部件(然后删除它),修改生成的XML,然后将其导入回。但是肯定有更简单的方法吗?您可能需要调用并使用webpart集合来处理Web部件您可以使用该类在Web部件页面上操作Web部件。此类的实例可以从SPFile对象获得,如下所示: usi

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

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

您可能需要调用并使用webpart集合来处理Web部件

您可以使用该类在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);
}
使用(SPSite site=newspsite(“”)//例如。http://server/sites/asite
使用(SPWeb=site.OpenWeb())
{
SPFile file=web.GetFile(“”;//例如/sites/asite/default.aspx
SPLimitedWebPartManager lwpm=file.GetLimitedWebPartManager();
SPLimitedWebPartCollection webParts=lwpm.webParts;
Web部件wp=Web部件[];
//添加代码以更新Web部件
lwpm.SaveChanges(wp);
}

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

注意,SP2010中已弃用此选项,并用@Lars answer替换。您所说的“更改内容”是什么意思?