【问题标题】:How to programmatically update content in a SharePoint Web Part?如何以编程方式更新 SharePoint Web 部件中的内容?
【发布时间】:2010-10-03 21:16:36
【问题描述】:

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

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

【问题讨论】:

  • “改变内容”是什么意思?

标签: sharepoint web-parts


【解决方案1】:

您可以使用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 部件。

【讨论】:

    【解决方案2】:

    您可能需要调用 SPWeb.GetWebPartCollection 并使用 webpart 集合来处理 WebParts thusly

    【讨论】:

    • 请注意,在 SP2010 中已弃用并由 @Lars 答案取代。
    猜你喜欢
    • 2011-09-16
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    • 2011-10-19
    • 2013-01-14
    • 1970-01-01
    • 2010-11-02
    • 1970-01-01
    相关资源
    最近更新 更多