以编程方式更新 Web 部件属性不会更新

本文关键字:更新 属性 Web 编程 方式 | 更新日期: 2023-09-27 18:36:01

我正在尝试以编程方式更新某些 Web 部件的标题。为此,我从网站获取所有页面,获取每个页面的 Web 部件,然后首先打印出当前标题,更改它,然后再次打印出来以验证标题是否正确更改。尽管如此,如果我事后检查,我仍然看到 webparts 的旧标题......我错过了什么?

代码如下:

... 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();                             
}

谢谢!

以编程方式更新 Web 部件属性不会更新

也许你应该使用 SPLimitedWebPartManager.Save(WebPart webPart) 方法来保存修改的属性

您是否尝试在进行更新之前设置site.AllowUnsafeUpdates = true