SharePoint WebPart zoneId
SharePoint WebPart zoneId
我正在使用在线 SharePoint。
我想使用此 CSOM 代码将 WebPart 添加到页面:
SP.File oFile = _web.GetFileByUrl(SiteUrl + "/SitePages/" + pageName);
oFile.CheckOut();
LimitedWebPartManager limitedWebPartManager = oFile.GetLimitedWebPartManager(PersonalizationScope.Shared);
var importedWebPart = limitedWebPartManager.ImportWebPart(webPartSchemaXml);
var webPart = limitedWebPartManager.AddWebPart(importedWebPart.WebPart, zoneid, zoneIndex);
oFile.Update();
await SiteCtx.ExecuteQueryAsync();
oFile.CheckIn(String.Empty, CheckinType.MinorCheckIn);
问题是如何给zoneid
字符串变量赋正确的值,
这是要将 Web 部件添加到的 Web 部件区域的名称。
当我运行这段代码没有任何反应!
(它没有将 WebPart 添加到页面,我怀疑它与错误的 zoneId 有关)。
我阅读了各种 post,从访问 .aspx
页面背后的代码试图找到 WebPartZone,访问 WebPartManager
class(应该列出 ZoneId,但我不知道如何获取它,因为我正在使用 LimitedWebPartManager
class).
我已经为 zoneId 尝试了各种值,但目前 none 有效:
- 1 区(只是猜测!)
- 2 区(我在通过“编辑”页面手动编辑 Web 部件时在右侧选项卡中看到它)
- 正文(几天前代码可以用!但现在不行了)
- 页眉
- 左
- 底部
findind zoneId 的正确方法是什么?
编辑
该页面是主页,我在某处读到它是一个 wiki 页面,所以它可能有不同的 ZoneId。
ZoneID 可能因页面布局而异,但通常 out-of-the-boxSharePoint 布局对 Web 部件区域使用以下 ID:
- 标题栏
- Header
- 左栏
- 中列
- 右栏
- 页脚
确保在导入 Web 部件后在文件上调用 update()
方法 object 并在上下文中调用 executeQueryAsync()
方法 - 后一个函数尤其负责发送请求到服务器并应用您的更改。
这是一篇关于以编程方式向页面添加 Web 部件的好文章:How to programmatically add a ClientSide Web Part to a SharePoint page
我正在使用在线 SharePoint。
我想使用此 CSOM 代码将 WebPart 添加到页面:
SP.File oFile = _web.GetFileByUrl(SiteUrl + "/SitePages/" + pageName);
oFile.CheckOut();
LimitedWebPartManager limitedWebPartManager = oFile.GetLimitedWebPartManager(PersonalizationScope.Shared);
var importedWebPart = limitedWebPartManager.ImportWebPart(webPartSchemaXml);
var webPart = limitedWebPartManager.AddWebPart(importedWebPart.WebPart, zoneid, zoneIndex);
oFile.Update();
await SiteCtx.ExecuteQueryAsync();
oFile.CheckIn(String.Empty, CheckinType.MinorCheckIn);
问题是如何给zoneid
字符串变量赋正确的值,
这是要将 Web 部件添加到的 Web 部件区域的名称。
当我运行这段代码没有任何反应!
(它没有将 WebPart 添加到页面,我怀疑它与错误的 zoneId 有关)。
我阅读了各种 post,从访问 .aspx
页面背后的代码试图找到 WebPartZone,访问 WebPartManager
class(应该列出 ZoneId,但我不知道如何获取它,因为我正在使用 LimitedWebPartManager
class).
我已经为 zoneId 尝试了各种值,但目前 none 有效:
- 1 区(只是猜测!)
- 2 区(我在通过“编辑”页面手动编辑 Web 部件时在右侧选项卡中看到它)
- 正文(几天前代码可以用!但现在不行了)
- 页眉
- 左
- 底部
findind zoneId 的正确方法是什么?
编辑
该页面是主页,我在某处读到它是一个 wiki 页面,所以它可能有不同的 ZoneId。
ZoneID 可能因页面布局而异,但通常 out-of-the-boxSharePoint 布局对 Web 部件区域使用以下 ID:
- 标题栏
- Header
- 左栏
- 中列
- 右栏
- 页脚
确保在导入 Web 部件后在文件上调用 update()
方法 object 并在上下文中调用 executeQueryAsync()
方法 - 后一个函数尤其负责发送请求到服务器并应用您的更改。
这是一篇关于以编程方式向页面添加 Web 部件的好文章:How to programmatically add a ClientSide Web Part to a SharePoint page