예제 #1
0
        /// <summary>
        /// Resolves the directory.
        /// </summary>
        /// <param name="path">The path.</param>
        /// <returns></returns>
        public override DirectoryItem ResolveDirectory(string path)
        {
            DirectoryInfo dir = new DirectoryInfo(path);

            if (!dir.Exists)
            {
                return(null);
            }
            DirectoryLister lister = new DirectoryLister(this, true, false);

            return(lister.GetDirectory(dir, path));
        }
예제 #2
0
        /// <summary>
        /// Resolves the root directory as tree.
        /// </summary>
        /// <param name="path">The path.</param>
        /// <returns></returns>
        public override DirectoryItem ResolveRootDirectoryAsTree(string path)
        {
            DirectoryInfo dir = new DirectoryInfo(path);

            if (!dir.Exists)
            {
                return(null);
            }
            string virtualName = dir.Name;
            string location    = dir.Parent.FullName.Replace('\\', '/');

            DirectoryLister lister = new DirectoryLister(this, false, true);

            return(lister.GetDirectory(dir, virtualName, location, path, string.Empty));
        }
예제 #3
0
        public override DirectoryItem ResolveRootDirectoryAsTree(string path)
        {
            string        str         = base.Context.Server.MapPath(path);
            string        virtualName = (path == "/") ? string.Empty : VirtualPathUtility.GetFileName(path);
            string        location    = (path == "/") ? "/" : VirtualPathUtility.AppendTrailingSlash(VirtualPathUtility.GetDirectory(path));
            DirectoryInfo dir         = new DirectoryInfo(str);

            if (!dir.Exists)
            {
                return(null);
            }
            DirectoryLister lister = new DirectoryLister(this, false, true);

            return(lister.GetDirectory(dir, virtualName, location, path, string.Empty));
        }