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