这是我在场解决方案中保存 Web 部件属性的方式:
SPContext.Current.Web.AllowUnsafeUpdates = true;
SPFile file = SPContext.Current.File;
SPLimitedWebPartManager mgr = file.GetLimitedWebPartManager(PersonalizationScope.Shared);
for (int index = 0; index < mgr.WebParts.Count; index++)
{
if (mgr.WebParts[index].ID == this.ID)
{
((MyWebpartType) mgr.WebParts[index]).MyStringProperty = "Hello World!";
mgr.SaveChanges(mgr.WebParts[index]);
}
}
SPContext.Current.Web.AllowUnsafeUpdates = false;
工作正常。
现在我必须在沙盒解决方案中实现相同的目标,但没有SPLimitedWebPartManager
可用的。
那么如何通过沙盒解决方案 webpart 中的代码更改 webpart 属性?