Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SharePoint品牌按主题更改SiteLogoUrl,不存在应用主题的事件_C#_Visual Studio 2008_Sharepoint_Events_Branding - Fatal编程技术网

C# SharePoint品牌按主题更改SiteLogoUrl,不存在应用主题的事件

C# SharePoint品牌按主题更改SiteLogoUrl,不存在应用主题的事件,c#,visual-studio-2008,sharepoint,events,branding,C#,Visual Studio 2008,Sharepoint,Events,Branding,到目前为止,我们还不需要SharePoint网站定义的新母版页。我们有一个主题,我们的一些客户将根据其企业SharePoint品牌使用该主题 目前,我使用以下代码更改“FeatureActivated”事件中我的“FeatureReceiver”中的“SiteLogoUrl” public override void FeatureActivated(SPFeatureReceiverProperties properties) { AddThemeToSpThemes(

到目前为止,我们还不需要SharePoint网站定义的新母版页。我们有一个主题,我们的一些客户将根据其企业SharePoint品牌使用该主题

目前,我使用以下代码更改“FeatureActivated”事件中我的“FeatureReceiver”中的“SiteLogoUrl”

    public override void FeatureActivated(SPFeatureReceiverProperties properties) {
        AddThemeToSpThemes(THEME_ID, THEME_NAME, THEME_DESC, THEME_IMAGE, THEME_IMAGE);
        SPWeb site = properties.Feature.Parent as SPWeb;
        if (site != null) {
            site.AllowUnsafeUpdates = true;
            site.SiteLogoUrl = site.Url + "images/thLogo.gif";
            site.Update();
        }
    }

FeatureActivated不是触发的最佳事件,我更喜欢主题应用事件,但我似乎找不到。也许我没有正确处理这个问题。

您的代码应该可以正常工作。FeatureActivated/FeatureDeactivating方法是可以添加自定义代码的地方

出于好奇,为什么您认为您没有使用正确的事件?sharepoint中没有太多事件,主题功能也非常有限。CSS文件很广泛,但是.net端很小

我的猜测是,即使主题发生变化,您也希望强制使用SiteLogoUrl(这样,您的客户可以在保留徽标的同时为其站点选择一个时髦的主题)

另外,母版页不是一个主题,所以我不知道你为什么说,“到目前为止,我们还不需要为SharePoint网站定义一个新的母版页”

干杯


Matt.

应用主题没有事件

您可能正在反向执行此操作(尽管这是显而易见的方式)。让您的功能接收器以编程方式运行,并设置您的徽标如何

注意:您可以将当前应用的主题存储在SPWeb的属性包中-请参阅,但在更改当前母版页之前先存储当前母版页


它也值得考虑使用。也可以在您的SPWeb对象(AlternateCssURL)上进行设置。

激活功能和应用主题是两件完全不同的事情。我想在应用主题时更改图像。