SharePoint 2010中的WebProvisioned Event Handler
2012-02-15 19:40
441 查看
在SharePoint 2010中,新增加了一些Event Handler事件,例如:针对Web级别的WebProvisioned(SPWebEventProperties),WebAdding(SPWebEventProperties),和针对列表级别的ListAdding(SPListEventProperties),ListDeleting(SPListEventProperties)等,更加详细的内容请参考:http://msdn.microsoft.com/en-us/library/ff407299.aspx
在本文中我将简单说一下WebProvisioned(SPWebEventProperties)这个事件。官方的描述是:After event that fires after a subsite is fully provisioned and the provisioning process has stopped, but does not fire when the root web site of a new site collection is created。我的理解:就是当站点(Web)创建完成之后,你可以自定义的事件,譬如说:修改站点的母版页,新建自定义列表等等。
第一步,项目中添加“Event Handler”,选中Web Events,然后选中想要捕获的事件,例如“a site was provisioned” .如下图:
第二步,写你的自定义逻辑。(我的demo是要修改站点的title):
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }第三步,发布(感谢VS2010,让SharePoint的开发变得如此的简单)
结果:当你在当前站点新建一个网站的时候,网网站的标题前面会自定加上一个“test”。
疑问:
1. 当我在当前站点的子站点新建网站的时候,标题会变化吗?这个feature还会起作用吗?如果不起作用,难道我还要在每个站点上都激活这个feature?有没有其他的办法?
2. 我现在有一个新的需求,当用户新建“博客”或者“工作组”站点的时候,我要在站点里面新建一个列表;或者说当用户新建“我的站点”的时候,我想要在每个用户自己的站点上加上点东西,怎么办?
我在下一篇中会介绍一下Feature Stapling,它可以满足你的需求。
在本文中我将简单说一下WebProvisioned(SPWebEventProperties)这个事件。官方的描述是:After event that fires after a subsite is fully provisioned and the provisioning process has stopped, but does not fire when the root web site of a new site collection is created。我的理解:就是当站点(Web)创建完成之后,你可以自定义的事件,譬如说:修改站点的母版页,新建自定义列表等等。
第一步,项目中添加“Event Handler”,选中Web Events,然后选中想要捕获的事件,例如“a site was provisioned” .如下图:
第二步,写你的自定义逻辑。(我的demo是要修改站点的title):
/// <summary>
[code] /// Web Events
/// </summary>
public class TestEventHandlerWebProvisioned : SPWebEventReceiver
{
/// <summary>
/// A site was provisioned.
/// </summary>
public override void WebProvisioned(SPWebEventProperties properties)
{
//base.WebProvisioned(properties);
SPWeb web = properties.Web;
web.Title = "test"+web.Title;
web.Update();
}
[/code]
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }第三步,发布(感谢VS2010,让SharePoint的开发变得如此的简单)
结果:当你在当前站点新建一个网站的时候,网网站的标题前面会自定加上一个“test”。
疑问:
1. 当我在当前站点的子站点新建网站的时候,标题会变化吗?这个feature还会起作用吗?如果不起作用,难道我还要在每个站点上都激活这个feature?有没有其他的办法?
2. 我现在有一个新的需求,当用户新建“博客”或者“工作组”站点的时候,我要在站点里面新建一个列表;或者说当用户新建“我的站点”的时候,我想要在每个用户自己的站点上加上点东西,怎么办?
我在下一篇中会介绍一下Feature Stapling,它可以满足你的需求。
相关文章推荐
- 在SharePoint 2010的Web部件页中恢复左侧导航
- SharePoint 2010 Content Query Web Part with paging
- (Sharepoint 2010) Change the background and font color of text for a web part header
- SharePoint 2010中Event 10016错误
- SharePoint 2010 Step By Step: Create Visual Web Part (1)
- [SharePoint 2007/2010]Query SharePoint Calendar Event
- 自定义 SharePoint 2010 Web 部件用户界面 (Wrox)
- WCF:使用启用声明的 WCF Web 服务作为 SharePoint 2010 外部内容类型(第4 部分,共 4 部分)
- 用lists.asmx web service 获取文件夹中的文件数量 - SharePoint 2010
- SharePoint 2010 列表视图导航Web部件
- Sharepoint 2010 Event 部署注意事项
- WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)
- SharePoint 2010 列表视图导航Web部件
- SharePoint 2010 PowerShell 系列 之 Create WebApplication
- SharePoint 2010 系统Web Part title圆角设置
- SharePoint 2007 开发系列(25) 创建SharePoint Event Handler
- SharePoint 2010中, SPEventReceiverBase.EnableEventFiring和DisableEventFiring都已废弃(obsolete), 应使用SPEventReceiverBase.EventFiringEnabled
- SharePoint 2010 “I nedd to”web part
- 如何让SharePoint 2010 Media Web Part支持更多格式
- sharepoint 2010 控制台应用程序 找不到位于 http://xxx 的 Web 应用程序