在SharePoint 2013中通过csom更改站点徽标
关于这个问题 如何将站点徽标更改为新徽标在SharePoint 2013中通过csom更改站点徽标,sharepoint,sharepoint-2013,csom,Sharepoint,Sharepoint 2013,Csom,关于这个问题 如何将站点徽标更改为新徽标 甚至可以通过CSOM从控制台应用程序执行此操作吗?看起来客户端对象模型中没有与常规对象模型中的站点徽标挂钩。(site.RootWeb.SiteLogoUrl=pictureUrl;)我找不到使用CSOM的方法,但您可以使用事件接收器创建一个新的网站集范围(适用于SharePoint Online)功能,并将其部署为解决方案。它为我工作,并节省了我手动更新380个网站。我让FeatureActivated方法递归地在网站集的根网站和所有子网站上设置徽标。
甚至可以通过CSOM从控制台应用程序执行此操作吗?看起来客户端对象模型中没有与常规对象模型中的站点徽标挂钩。(
site.RootWeb.SiteLogoUrl=pictureUrl;
)我找不到使用CSOM的方法,但您可以使用事件接收器创建一个新的网站集范围(适用于SharePoint Online)功能,并将其部署为解决方案。它为我工作,并节省了我手动更新380个网站。我让FeatureActivated方法递归地在网站集的根网站和所有子网站上设置徽标。代码如下:
public class Feature1EventReceiver : SPFeatureReceiver
{
public override void FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site = properties.Feature.Parent as SPSite;
if (site != null)
{
SPWeb web = site.RootWeb;
SetLogo(web);
}
}
private void SetLogo(SPWeb web) {
web.SiteLogoUrl = "/SiteAssets/logo.png";
web.Update();
foreach (SPWeb subweb in web.Webs)
{
SetLogo(subweb);
}
}
}
这到底是怎么回事?很清楚他在问什么——他想通过客户端对象模型设置站点的SiteLogoUrl属性。您应该将其移动到SharePoint Stack Exchange,而不是因为“不清楚”而将其关闭。