Friday, August 7, 2009

SPFeatureCollection Class (Microsoft.SharePoint)

SPFeatureCollection Class (Microsoft.SharePoint): "SPFeatureCollection Class (Microsoft.SharePoint)"

The following code example activates a Web site-scoped Feature with the specified title in all the subsites of a specific site collection.
This example requires using directives (Imports in Visual Basic) for the Microsoft.SharePoint and Microsoft.SharePoint.Utilities namespaces.
C#

Copy Code

System.Globalization.CultureInfo oCultureInfo = new
System.Globalization.CultureInfo(1033);
SPFeatureDefinitionCollection collFeatureDefinitions =
SPFarm.Local.FeatureDefinitions;
foreach (SPFeatureDefinition oFeatureDefinition in
collFeatureDefinitions)
{
if (oFeatureDefinition.GetTitle(oCultureInfo) == "Feature_Title")
{
Guid guidFeatureDefinitionID = oFeatureDefinition.Id;
SPWebCollection collWebsites =
SPContext.Current.Site.AllWebs["Site"].Webs;
foreach (SPWeb oWebsite in collWebsites)
{
if (oFeatureDefinition.Scope == SPFeatureScope.Web)
{
SPFeatureCollection collFeatureCollection =
oWebsite.Features;
SPFeature oFeature =
collFeatureCollection.Add(guidFeatureDefinitionID);
Response.Write(SPEncode.HtmlEncode(oFeature.Definition.GetTitle(oCultureInfo)) + " feature added on " + oWebsite.Title + "
");
}
oWebsite.Dispose();
}
}
}

0 comments: