7

標準の SharePoint v3 Web パーツのコンテンツをプログラムで更新する方法を知っている人はいますか?

例として、リンクの概要 Web パーツをページに配置します。それにいくつかのリンクを追加します。では、WSS API を使用してこの情報を更新するにはどうすればよいでしょうか。これを行う直接的な方法は見つかりませんでした。これまでの唯一のアイデアは、Web パーツをエクスポートし (その後削除し)、生成された XML を変更して、インポートし直すことです。しかし、確かに、もっと簡単な方法があるはずですか?

4

2 に答える 2

9

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パーツを追加または削除することもできます。

于 2009-01-28T18:06:48.960 に答える
5

したがって、おそらくSPWeb.GetWebPartCollectionを呼び出し、Web パーツ コレクションを使用して Web パーツをいじる必要があります。

于 2009-01-27T22:39:40.547 に答える