Skip to main content
.NET Framework Class Library
ControlTemplateSourceDirectory Property

Gets the virtual directory of the Page or UserControl that contains the current server control.

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)
Syntax
<[%$TOPIC/18y98fcb_en-us_VS_110_3_0_0_0_0%](False)> _
Public Overridable ReadOnly Property TemplateSourceDirectory As [%$TOPIC/18y98fcb_en-us_VS_110_3_0_0_0_1%]
[[%$TOPIC/18y98fcb_en-us_VS_110_3_0_1_0_0%](false)]
public virtual [%$TOPIC/18y98fcb_en-us_VS_110_3_0_1_0_1%] TemplateSourceDirectory { get; }
[[%$TOPIC/18y98fcb_en-us_VS_110_3_0_2_0_0%](false)]
public:
virtual property [%$TOPIC/18y98fcb_en-us_VS_110_3_0_2_0_1%]^ TemplateSourceDirectory {
	[%$TOPIC/18y98fcb_en-us_VS_110_3_0_2_0_2%]^ get ();
}
[<[%$TOPIC/18y98fcb_en-us_VS_110_3_0_3_0_0%](false)>]
abstract TemplateSourceDirectory : [%$TOPIC/18y98fcb_en-us_VS_110_3_0_3_0_1%] with get
[<[%$TOPIC/18y98fcb_en-us_VS_110_3_0_3_0_2%](false)>]
override TemplateSourceDirectory : [%$TOPIC/18y98fcb_en-us_VS_110_3_0_3_0_3%] with get

Property Value

Type: SystemString
The virtual directory of the page or user control that contains the server control.
Remarks

The TemplateSourceDirectory property specifies the path to the page or user control that contains the current control. For example, if the Web page resides at http://www.contoso.com/application/subdirectory, the TemplateSourceDirectory property returns "application/subdirectory".

To return the application-relative virtual path ("~/subdirectory"), use the AppRelativeTemplateSourceDirectory property.

Examples

The following example uses the TemplateSourceDirectory property twice. The first time it is used in a ControlMapPathSecure method call to obtain the path to the directory in which the control resides. The second time it is in a DirectoryGetFiles method call to obtain the list of all the files contained within that directory.

' An HttpException occurs if the server control does not,; 
' have permissions to read the resulting mapped file.
output.Write("The Actual Path of the virtual directory : " & _
            MapPathSecure(TemplateSourceDirectory) & "<br>")

' Get all the files from the absolute path of 'MyControl'; 
' using TemplateSourceDirectory which gives the virtual Directory. 
Dim myFiles As String() = Directory.GetFiles(MapPathSecure(TemplateSourceDirectory))
output.Write("The files in this Directory are <br>")

' List all the files. 
Dim i As Integer 
For i = 0 To myFiles.Length - 1
   output.Write(myFiles(i) & "<br>")
Next i
// An HttpException occurs if the server control does not,; 
// have permissions to read the resulting mapped file. 
     output.Write("The Actual Path of the virtual directory : "+
     MapPathSecure(TemplateSourceDirectory)+"<br>");

    // Get all the files from the absolute path of 'MyControl'; 
    // using TemplateSourceDirectory which gives the virtual Directory. 
        string [] myFiles=
        Directory.GetFiles(MapPathSecure(TemplateSourceDirectory));
        output.Write("The files in this Directory are <br>");

         // List all the files. 
         for (int i=0;i<myFiles.Length;i++)
            output.Write(myFiles[i]+"<br>");
Version Information

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0
Platforms

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.