我尝试使用C#更改默认视图查询,但它无法正常工作。我可以更改JSLink属性,但不能更改XmlDefinition。任何想法解决方法或我做错了什么?
var webPart = listWebPart.WebPart.
clientContext.Load(webPart.Properties);
clientContext.ExecuteQuery();
webPart.Properties["XmlDefinition"] = newQuery;
listWebPart.SaveWebPartChanges();
clientContext.Load(listWebPart);
clientContext.ExecuteQuery();
它在某个页面上列出了webpart。
答案 0 :(得分:0)
您也可以获取SharePoint Online上具有LimitedWebPartManager
功能的页面的GetLimitedWebPartManager
,MSDN。然后,您可以使用LimitedWebPartManager
加载WebParts,如下所示:
var page = ctx.Web.GetFileByServerRelativeUrl(pageUrl);
LimitedWebPartManager wpMgr = page.GetLimitedWebPartManager(Microsoft.SharePoint.Client.WebParts.PersonalizationScope.Shared);
ctx.Load(wpMgr.WebParts);
ctx.ExecuteQuery();
这将加载页面上的所有webpart。然后,您可以使用它的索引获取所需的网站部分的WebPartDefinition
:
WebPartDefinition webPartDef = wpMgr.WebParts[webpartIndex];
ctx.Load(webPartDef);
ctx.ExecuteQuery();
您现在可以最终更新所需的属性并保存定义:
webPartDef.WebPart.Properties["XmlDefinition"] = newQuery;
webPartDef.SaveWebPartChanges();
webPartDef.CloseWebPart();
ctx.ExecuteQuery();
希望这有助于您更新自己的网站属性