SPDocTemplateCollection Class
Represents a collection of document templates.
Inheritance Hierarchy
System.Object
Microsoft.SharePoint.Administration.SPAutoSerializingObject
Microsoft.SharePoint.SPBaseCollection
Microsoft.SharePoint.SPDocTemplateCollection
Namespace: Microsoft.SharePoint
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Available in Sandboxed Solutions: Yes
Available in SharePoint Online
Syntax
'Declaration
<SubsetCallableTypeAttribute> _
Public Class SPDocTemplateCollection _
Inherits SPBaseCollection
'Usage
Dim instance As SPDocTemplateCollection
[SubsetCallableTypeAttribute]
public class SPDocTemplateCollection : SPBaseCollection
Examples
The following code example collects into an array all document templates of all sites in the current site collection and then iterates through the array elements to display properties of each template.
The example assumes the existence of an .aspx page that contains a label control named Label1.
This example requires using directives (Imports in Visual Basic) for the Microsoft.SharePoint and Microsoft.SharePoint.Utilities namespaces.
Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim sites As SPWebCollection = siteCollection.AllWebs
Dim arrDocTemps As New ArrayList()
Dim site As SPWeb
For Each site In sites
Dim docTemps As SPDocTemplateCollection = site.DocTemplates
Dim i As Integer
For i = 0 To docTemps.Count - 1
arrDocTemps.Add(docTemps(i))
Next i
Next site
Dim docTemp As SPDocTemplate
For Each docTemp In arrDocTemps
Label1.Text += SPEncode.HtmlEncode(docTemp.Name) & " :: "
& docTemp.DefaultTemplate & "<BR>"
Next docTemp
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSiteCollection.AllWebs;
ArrayList arrDocTemplates = new ArrayList();
foreach (SPWeb oWebsite in collWebsites)
{
SPDocTemplateCollection collDocTemplates = oWebsite.DocTemplates;
for (int intIndex = 0; intIndex < collDocTemplates.Count; intIndex++)
{
arrDocTemplates.Add(collDocTemplates[intIndex]);
}
foreach (SPDocTemplate oDocTemplate in arrDocTemplates)
{
Label1.Text += SPEncode.HtmlEncode(oDocTemplate.Name) +
" -- " + oDocTemplate.DefaultTemplate + "<BR>";
}
oWebsite.Dispose();
}
Note
Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Disposing Objects.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.