Control.TemplateSourceDirectory Property
.NET Framework 3.0
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)
Assembly: System.Web (in system.web.dll)
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.
The following example uses the TemplateSourceDirectory property twice. The first time it is used in a Control.MapPathSecure method call to obtain the path to the directory in which the control resides. The second time it is in a Directory.GetFiles 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(get_TemplateSourceDirectory()) + "<br>");
// Get all the files from the absolute path of 'MyControl';
// using TemplateSourceDirectory which gives the virtual Directory.
String myFiles[] = Directory.GetFiles(MapPathSecure(
get_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.get_Item(i) + "<br>");
}
Community Additions
ADD
Show: