有人知道如何以编程方式更新任何标准 SharePoint v3 Web 部件的内容吗?
例如,将链接摘要 Web 部件放在页面上。添加一些链接。现在,如何使用 WSS API 更新这些信息?我还没有找到任何直接的方法来做到这一点,到目前为止我唯一的想法是导出 Web 部件(然后将其删除),修改生成的 XML,然后将其导入回来。但可以肯定的是,一定有更简单的方法吗?
有人知道如何以编程方式更新任何标准 SharePoint v3 Web 部件的内容吗?
例如,将链接摘要 Web 部件放在页面上。添加一些链接。现在,如何使用 WSS API 更新这些信息?我还没有找到任何直接的方法来做到这一点,到目前为止我唯一的想法是导出 Web 部件(然后将其删除),修改生成的 XML,然后将其导入回来。但可以肯定的是,一定有更简单的方法吗?
您可以使用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 部件。
您可能需要调用SPWeb.GetWebPartCollection并使用 webpart 集合来弄乱WebParts