Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

SPWeb.WebTemplate property

Gets the name of the site definition or site template that was used to create the site.

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

Public ReadOnly Property WebTemplate As String
Dim instance As SPWeb
Dim value As String

value = instance.WebTemplate

Property value

Type: System.String
A string that contains the name of the site definition. This value corresponds to the Name attribute of the Template element in Collaborative Application Markup Language (CAML).

The possible values for this property are also available as constants in the SPWebTemplate class. For example, the name of the site definition for a wiki site is "WIKI", which is also the value of the constant SPWebTemplate.WebTemplateWIKI.

When you create a custom site template by saving a site as a template and then create a new site from that template, the WebTemplate property contains the name of the site definition from which the custom template derives, not the name of the custom template. Thus if the site that was used to create a custom template was itself created from the standard team site definition, the WebTemplate property of all sites that are created from the new template will return "STS" (or the value of the constant SPWebTemplate.WebTemplateSTS).

The following example is a console application that prints the values of the WebTemplate and WebTemplateId properties of a website that was created with the built-in "Blog" site definition. The application assumes that [http://localhost/sites/blog] is a valid URL for a SharePoint Foundation website.

Imports System
Imports Microsoft.SharePoint

Namespace Test
   Friend Class ConsoleApp
      Shared Sub Main(ByVal args() As String)
         Using site As New SPSite("http://localhost")
            Using web As SPWeb = site.OpenWeb("sites/blog")
               Console.WriteLine("Site definition: {0}", web.WebTemplate) ' BLOG
               Console.WriteLine("Web template ID: {0}", web.WebTemplateId) ' 9

               Console.WriteLine(web.WebTemplate = SPWebTemplate.WebTemplateBLOG) ' True
               Console.WriteLine(web.WebTemplateId = CInt(Fix(SPWebTemplate.WebTemplate.Blog))) ' True
            End Using
         End Using
      End Sub
   End Class
End Namespace
© 2015 Microsoft