如何使用控制台应用程序在SharePoint Online中的SiteCollection级别添加userCustomAction?

时间:2016-05-25 13:26:16

标签: sharepoint office365 sharepoint-online

我正在注入CSS&通过控制台应用程序使用UserCustomAction的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?

提前致谢!

1 个答案:

答案 0 :(得分:1)

我认为问题在于您如何创建UserCustomAction。

您有UserCustomAction cssAction = web.UserCustomActions.Add(); web可能是SPWeb对象。

当你应该UserCustomAction cssAction = site.UserCustomActions.Add(); site是SPSite对象时。

如果不在这里修改太多代码,您可以执行UserCustomAction cssAction = web.Site.UserCustomActions.Add();