2009-01-27 60 views
7

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

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

+0

你是什么意思的“改变内容”? – 2009-01-27 22:17:51

回答

9

可以使用SPLimitedWebPartManager类操纵Web部件页上的Web部件。

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部件:这个类的一个实例可以从SPFILE对象按如下方式获得。