2016-05-25 7 views
0

Ich injiziere CSS & JS-Dateien mit einer UserCustomAction über eine Konsolenanwendung. Ich verwende den folgenden Code ein neues userCustomAction zu erstellen: nurWie fügt man eine BenutzerCustomAction auf SiteCollection-Ebene in SharePoint Online mit der Konsolenanwendung hinzu?

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(); 

Dieser Code funktioniert gut, aber die Injektion von Dateien auf Web-Ebene. Ich muss sie in die gesamte Websitesammlung einfügen, damit auch Unterwebsites dieselbe Art von Branding erhalten können. Kann mir jemand helfen, wie kann ich sie auf Site Collection-Ebene anwenden oder wie kann ich Scope in diesem verwenden?

Vielen Dank im Voraus!

Antwort

1

Ich glaube, das Problem ist, wie Sie die UserCustomAction erstellen.

Sie haben UserCustomAction cssAction = web.UserCustomActions.Add(); wo web ist wahrscheinlich ein SPWeb-Objekt.

Wenn Sie tun sollten UserCustomAction cssAction = site.UserCustomActions.Add(); wo site ist das SPSite-Objekt.

Ohne hier viel Code zu ändern, könnten Sie tun, nur UserCustomAction cssAction = web.Site.UserCustomActions.Add();

+0

Dank für Ihre prompte Antwort. Es funktioniert gut für mich .. vielen Dank noch einmal! –