1

いくつかのWebパーツのタイトルをプログラムで更新しようとしています。これを行うには、サイトからすべてのページを取得し、各ページのWebパーツを取得します。最初に現在のタイトルを印刷し、変更してから再度印刷して、タイトルが正しく変更されたことを確認します。それでも、後で確認すると、Webパーツの古いタイトルが表示されます...何が欠けていますか?

コードは次のとおりです。

... getting the pages for the site...
SPFile ofile = page.File;

SPLimitedWebPartManager wpColl = ofile.GetLimitedWebPartManager(System.Web.UI.WebControls.WebParts.PersonalizationScope.User);
int cont = wpColl.WebParts.Count;

for (int i = 0; i < cont; i++)
{
    System.Web.UI.WebControls.WebParts.WebPart wp1 = wpColl.WebParts[i];

Console.WriteLine(" - Title : " + wp1.Title);

wp1.Title = "test" + i;

ofile.Update();
Console.WriteLine(" - New title: " + wp1.Title);

page.Update();
site.Update();                             
}

ありがとうございました!

4

2 に答える 2

3

変更されたプロパティを保存するには、SPLimitedWebPartManager.Save(WebPart webPart)メソッドを使用する必要があるかもしれません

于 2012-06-01T05:59:34.067 に答える
1

更新する前に設定しようとしましたsite.AllowUnsafeUpdates = trueか?

于 2012-06-01T05:29:27.393 に答える