Skip to main content
 首页 » 编程设计

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

2024年02月20日37lvdongjie

我正在尝试以编程方式更新某些 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();                              
} 

谢谢!

请您参考如下方法:

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