![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
LitwareBranding 解决方案介绍
为品牌管理创建实用
![](/icons/45190chengxu.gif)
换出母版页
在 Web.config 文件中注册 HttpModule
在功能激活期间
![](/icons/45190chushi.gif)
自从我开始使用 SharePo
![](/icons/45190int.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190dou2.gif)
![](/icons/45190int.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
Windows® SharePo
![](/icons/45190int.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
WSS 主题有
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou2.gif)
SharePo
![](/icons/45190int.gif)
![](/icons/45190int.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou2.gif)
![](/icons/45190int.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
如果将 SharePo
![](/icons/45190int.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190yinwei.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
但务必要记住
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190de.gif)
![](/icons/45190System.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
本月
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
采用 Visual Studio 和生成解决方案包这两个原因使得将标记解决方案部署到运行 WSS 3.0 或 MOSS 2007
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou.gif)
![](/icons/45190yinwei.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
LitwareBranding 解决方案介绍
本月专栏附带了
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/cb38de8c-5b17-4290-8cb2-d0f9a5575a3c.jpg)
图 1 Visual Studio 中
![](/icons/45190de.gif)
下面我们开始代码演练
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
<Feature
Id="065E2243-B968-4F14-BAAE-610BB975EFB7"
Title="A sample feature: LitwareBranding"
Description="Demoware created for Ted Pattison's OfficeSpace column"
Hidden="FALSE"
Scope="Site"
ImageUrl="LitwareBrandingAfricanPith32.g
"
ReceiverAssembly="LitwareBranding, [4-part assembly name]"
ReceiverClass="LitwareBranding.FeatureReceiver"
xmlns="http://schemas.microsoft.com/sharepo
/">
<ElementMan
ests>
<ElementMan
est Location="elements.xml"/>
<ElementMan
est Location="stapling.xml" />
<ElementFile Location="LitwareBranding.master"/>
</ElementMan
ests>
</Feature>
LitwareBranding 功能包含![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
<Module Name="MasterPages"
Path="" List="116"
Url="_catalogs/masterpage" >
<File Url="LitwareBranding.master"
Type="GhostableInLibrary" />
</Module>
在功能激活期间![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou2.gif)
为品牌管理创建实用
![](/icons/45190chengxu.gif)
LitwareBranding 项目包含
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
同步链接到 LitwareBranding.master
![](/icons/45190de.gif)
同步使用备选 CSS 文件
![](/icons/45190de.gif)
同步使用自定义图形作为站点徽标
![](/icons/45190de.gif)
添加对换出应用
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
在深入了解具体成员的前
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
_catalogs/masterpage/default.master
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
public
BrandManager {
// read-only properties
public
SiteCollectionUrl
public
DefaultMasterPageUrl
public
CustomMasterPageUrl
public
CustomCssUrl
public
CustomSiteLogoUrl
// utility branding methods
public
void ConfigureMasterUrl(bool ApplyMasterUrl) {}
public
void ConfigureCustomMasterUrl(bool ApplyCustomMasterUrl) {}
public
void ConfigureAlternateCss(bool ApplyCustomCss) {}
public
void ConfigureSiteLogo(bool ApplySiteLogo) {}
public
void ConfigureApplicationPageMaster(bool ApplyApplicationPageMaster) {}
}
CustomMasterPageUrl 属性可返回 Web 应用![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
_catalogs/masterpage/litwarebranding.master
现在![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
public
void ConfigureMasterUrl(bool ApplyMasterUrl) {
// determine MasterUrl property
ting
MasterUrlPath =
(ApplyMasterUrl ?
CustomMasterPageUrl :
DefaultMasterPageUrl);
// update MasterUrl property for all sites
foreach (SPWeb site in SPContext.Current.Site.AllWebs) {
site.MasterUrl = MasterUrlPath;
site.Update
;
}
}
请注意![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190int.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
当您更新 MasterUrl 属性时
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
相反
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190yinwei.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
public
void ConfigureCustomMasterUrl(
bool ApplyCustomMasterUrl) {
// determine MasterUrl property
ting
CustomMasterUrlPath =
(ApplyCustomMasterUrl ?
CustomMasterPageUrl :
DefaultMasterPageUrl);
// update MasterUrl property for all sites
foreach (SPWeb site in SPContext.Current.Site.AllWebs) {
site.CustomMasterUrl = CustomMasterUrlPath;
site.Update
;
}
}
除了换出母版页的外![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
public
CustomCssUrl {
get {
"/_layouts/1033/STYLES/LitwareBranding/styles.css";
}
}
BrandManager 类提供了![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
public
void ConfigureAlternateCss(bool ApplyCustomCss) {
// determine MasterUrl property
ting
AlternateCssUrl =
(ApplyCustomCss ?
CustomCssUrl :
.Empty);
// update AlternateCssUrl for all sites
foreach (SPWeb site in SPContext.Current.Site.AllWebs) {
// make sure no theme is enabled
site.ApplyTheme(
.Empty);
// apply custom CSS file
site.AlternateCssUrl = AlternateCssUrl;
site.Update
;
}
}
WSS 中内置![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190if.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190if.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
public
CustomSiteLogoUrl {
get {
"/_layouts/images/LitwareBranding/SiteLogo.g
";
}
}
BrandManager 类![](/icons/45190de.gif)
![](/icons/45190de.gif)
public
void ConfigureSiteLogo(bool ApplySiteLogo) {
// determine SiteLogoUrl property
ting
SiteLogoUrl =
(ApplySiteLogo ?
CustomSiteLogoUrl :
.Empty);
// update AlternateCssUrl for all sites
foreach (SPWeb site in SPContext.Current.Site.AllWebs) {
site.SiteLogoUrl = SiteLogoUrl;
site.Update
;
}
}
换出母版页
虽然 SharePo
![](/icons/45190int.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190set.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190set.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
LitwareBranding 解决方案演示了如何换出链接到标准母版页文件 application.master
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190yi.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou2.gif)
![](/icons/45190chushi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
类 LitwareBrandingHttpModule 将提供在 LitwareBranding 解决方案中用来换出母版页
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou2.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou2.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
![](/icons/45190chengxu.gif)
using
;
using
.Web;
using
.Web.UI;
using Microsoft.SharePo
;
LitwareBranding {
public
LitwareBrandingHttpModule : IHttpModule {
public void Init(HttpApplication context) {
context.PreRequestHandlerExecute
EventHandler(context_PreRequestHandlerExecute);
}
void context_PreRequestHandlerExecute(object sender, EventArgs e) {
Page page = HttpContext.Current.CurrentHandler as Page;
(page != null) {
// register handler for PreInit event
page.PreInit
EventHandler(page_PreInit);
}
}
void page_PreInit(object sender, EventArgs e) {
// IF – requested page links to application.master
// THEN – dynamically mod
y page to link to custom .master file
}
public void Dispose
{ /* empty implementation */ }
}
}
请切记![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
通过在站点集合
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
public
void ConfigureApplicationPageMaster(
bool ApplyApplicationPageMaster) {
SPWeb TopLevelSite = SPContext.Current.Site.RootWeb;
(ApplyApplicationPageMaster) {
TopLevelSite.Properties["UseCustomApplicationPageMaster"] = "True";
}
{
TopLevelSite.Properties["UseCustomApplicationPageMaster"] = "False";
}
TopLevelSite.Properties.Update
;
}
此思路方法在顶级站点中创建了![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
![](/icons/45190chengxu.gif)
void page_PreInit(object sender, EventArgs e) {
Page page = sender as Page;
((page != null) &&
(page.MasterPageFile != null) &&
(page.Request.Url.AbsolutePath.Contains("_layouts")) &&
(SPContext.Current != null) ) {
// inspect UseCustomApplicationPageMaster property
SPWeb site = SPContext.Current.Site.RootWeb;
UseCustomApplicationPageMaster =
site.Properties["UseCustomApplicationPageMaster"];
((!
.IsNullOrEmpty(UseCustomApplicationPageMaster)) &&
(UseCustomApplicationPageMaster.Equals("True"))) {
// now replace application.master with customized version
(page.MasterPageFile.Contains("application.master")) {
page.MasterPageFile = "/_layouts/LitwareBranding/application.master";
}
}
}
}
当 PreInit 事件处理![](/icons/45190chengxu.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
/_layouts/LitwareBranding/application.master
在 Web.config 文件中注册 HttpModule
使用 WSS 和 MOSS 部署业务解决方案时
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
为更新特定 Web 应用
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190chengxu.gif)
<Feature
Id="FF739C76-0B08-4bc2-A3A2-F61524B492D8"
Title="Litware Branding Support Feature (WebApplication)"
Scope="WebApplication"
Hidden="False"
ReceiverClass="LitwareBranding. FeatureReceiverWebApplication"
ReceiverAssembly="LitwareBranding, [4-part assembly name]"
xmlns="http://schemas.microsoft.com/sharepo
/">
<!-- no declarative elements -->
<ElementMan
ests />
</Feature>
和任何其他功能接收器类![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou.gif)
![](/icons/45190install.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
如果您需要将某个条目添加到 web.config 文件中
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190if.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190if.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou.gif)
![](/icons/45190chushi.gif)
![](/icons/45190if.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
![](/icons/45190if.gif)
public SPWebConfigMod
ication CreateHttpModuleMod
ication
{
SPWebConfigMod
ication mod
ication;
ModName = "add[@name='LitwareBrandingModule']";
ModXPath = "configuration/system.web/httpModules";
mod
ication =
SPWebConfigMod
ication(ModName, ModXPath);
mod
ication.Owner = "LitwareBranding";
mod
ication.Sequence = 0;
mod
ication.Type =
SPWebConfigMod
ication.SPWebConfigMod
icationType.EnsureChildNode;
mod
ication.Value =
@"<add name=""LitwareBrandingModule"" " + @ "type="
"LitwareBranding.LitwareBrandingHttpModule, [4-part assembly name]"
" />";
mod
ication;
}
当您有了可以返回![](/icons/45190chushi.gif)
![](/icons/45190de.gif)
![](/icons/45190if.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190if.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190diaoyong.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
public override void FeatureActivated(
SPFeatureReceiverProperties properties) {
SPWebApplication WebApp =
(SPWebApplication)properties.Feature.Parent;
WebApp.WebConfigMod
ications.Add(
CreateHttpModuleMod
ication
);
WebApp.WebService.ApplyWebConfigMod
ications
;
WebApp.WebService.Update
;
}
public override void FeatureDeactivating(
SPFeatureReceiverProperties properties) {
SPWebApplication WebApp =
(SPWebApplication)properties.Feature.Parent;
WebApp.WebConfigMod
ications.Remove(
CreateHttpModuleMod
ication
);
WebApp.WebService.ApplyWebConfigMod
ications
;
WebApp.WebService.Update
;
}
在功能激活期间
![](/icons/45190chushi.gif)
现在是将所有片段组合到
![](/icons/45190yi.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou2.gif)
![Office Space:自动化<img src='/icons/45190de.gif' /> SharePo<img src='/icons/45190int.gif' /> 站点标记](http://www.crazycoder.cn/WebFiles/20092/2766515d-bb59-402b-9a30-8ce1ae17b40d.jpg)
public override void FeatureActivated(SPFeatureReceiverProperties properties) {
EnsureWebApplicationFeatureEnabled
;
BrandManager.ConfigureMasterUrl(true);
BrandManager.ConfigureCustomMasterUrl(true);
BrandManager.ConfigureAlternateCss(true);
BrandManager.ConfigureSiteLogo(true);
BrandManager.ConfigureApplicationPageMaster(true);
}
public override void FeatureDeactivating(SPFeatureReceiverProperties properties) {
BrandManager.ConfigureMasterUrl(false);
BrandManager.ConfigureCustomMasterUrl(false);
BrandManager.ConfigureAlternateCss(false);
BrandManager.ConfigureSiteLogo(false);
BrandManager.ConfigureApplicationPageMaster(false);
}
请注意在 FeatureActivated 事件处理![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190diaoyong.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190chengxu.gif)
![](/icons/45190de.gif)
public void EnsureWebApplicationFeatureEnabled
{
// make sure feature which adds HttpModule to web.config is active
SPSecurity.RunWithElevatedPrivileges(delegate
{
using (SPSite siteCollection =
SPSite(SPContext.Current.Site.ID)) {
try {
Guid FeatureId =
Guid("FF739C76-0B08-4bc2-A3A2-F61524B492D8");
siteCollection.WebApplication.Features.Add(FeatureId);
}
catch { }
}
});
}
创建站点集合范围![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190yi.gif)
![](/icons/45190chushi.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190chengxu.gif)
// fired whenever a
site is created
public override void FeatureActivated(SPFeatureReceiverProperties properties) {
SPWeb ChildSite = (SPWeb)properties.Feature.Parent;
SPWeb TopLevelSite = ChildSite.Site.RootWeb;
ChildSite.MasterUrl = TopLevelSite.MasterUrl;
ChildSite.CustomMasterUrl = TopLevelSite.CustomMasterUrl;
ChildSite.AlternateCssUrl = TopLevelSite.AlternateCssUrl;
ChildSite.SiteLogoUrl = TopLevelSite.SiteLogoUrl;
ChildSite.Update
;
}
此事件处理![](/icons/45190chengxu.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
答案是功能装订
![](/icons/45190dou2.gif)
![](/icons/45190yi.gif)
![](/icons/45190dou.gif)
<!-- staple GLOBAL site definition to itwareBrandingChildSiteInitializer -->
<FeatureSiteTemplateAssociation
Id="1204A425-D105-46c5-BB2C-473A2F27B563"
TemplateName="GLOBAL" />
这种装订技术会强制执行自动功能激活![](/icons/45190dou2.gif)
![](/icons/45190dou.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
请注意
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190int.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190dou2.gif)
![](/icons/45190de.gif)
![](/icons/45190dou.gif)
![](/icons/45190de.gif)
![](/icons/45190de.gif)
<!-- staple blank site template to LitwareBrandingChildSiteInitializer -->
<FeatureSiteTemplateAssociation
Id="1204A425-D105-46c5-BB2C-473A2F27B563"
TemplateName="STS#1" />
最新评论