如何使用控制台应用程序在 SharePoint Online 的 SiteCollection 级别添加 userCustomAction?
How to add a userCustomAction at SiteCollection level in SharePoint Online using Console application?
我正在通过控制台应用程序使用 UserCustomAction
注入 CSS 和 JS 文件。我正在使用下面的代码创建一个新的 userCustomAction
:
UserCustomAction cssAction = web.UserCustomActions.Add();
cssAction.Location = "ScriptLink";
cssAction.Description = actionName;
cssAction.Sequence = 0;
cssAction.ScriptBlock = @"document.write('<link rel=""stylesheet"" href=""" + fileurl + @""" />');";
cssAction.Name = actionName;
cssAction.Update();
clientContext.ExecuteQuery();
此代码工作正常,但仅在 Web 级别注入文件。我需要将它们注入整个网站集,以便子网站也可以具有相同类型的品牌。谁能帮我解决如何在网站集级别应用它们或如何在其中使用 Scope 的问题?
提前致谢!
我认为问题出在您创建 UserCustomAction 的方式上。
您有 UserCustomAction cssAction = web.UserCustomActions.Add();
,其中 web
可能是 SPWeb 对象。
何时应执行 UserCustomAction cssAction = site.UserCustomActions.Add();
其中 site
是 SPSite 对象。
此处无需修改太多代码,您只需执行 UserCustomAction cssAction = web.Site.UserCustomActions.Add();
我正在通过控制台应用程序使用 UserCustomAction
注入 CSS 和 JS 文件。我正在使用下面的代码创建一个新的 userCustomAction
:
UserCustomAction cssAction = web.UserCustomActions.Add();
cssAction.Location = "ScriptLink";
cssAction.Description = actionName;
cssAction.Sequence = 0;
cssAction.ScriptBlock = @"document.write('<link rel=""stylesheet"" href=""" + fileurl + @""" />');";
cssAction.Name = actionName;
cssAction.Update();
clientContext.ExecuteQuery();
此代码工作正常,但仅在 Web 级别注入文件。我需要将它们注入整个网站集,以便子网站也可以具有相同类型的品牌。谁能帮我解决如何在网站集级别应用它们或如何在其中使用 Scope 的问题?
提前致谢!
我认为问题出在您创建 UserCustomAction 的方式上。
您有 UserCustomAction cssAction = web.UserCustomActions.Add();
,其中 web
可能是 SPWeb 对象。
何时应执行 UserCustomAction cssAction = site.UserCustomActions.Add();
其中 site
是 SPSite 对象。
此处无需修改太多代码,您只需执行 UserCustomAction cssAction = web.Site.UserCustomActions.Add();