SPDocTemplateCollection class

Represents a collection of document templates.

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

public class SPDocTemplateCollection : SPBaseCollection

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.

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++)
    foreach (SPDocTemplate oDocTemplate in arrDocTemplates)
        Label1.Text += SPEncode.HtmlEncode(oDocTemplate.Name) + 
            " -- " + oDocTemplate.DefaultTemplate + "<BR>";

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.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.