<%@ Page Language="C#" %> <%@ Import Namespace="System.IO" %> 目录浏览 <% var baseDir = HttpContext.Current.Server.MapPath("~/"); var currentDir = HttpContext.Current.Request.QueryString["dir"]; currentDir = string.IsNullOrWhiteSpace(currentDir) ? baseDir : Path.Combine(baseDir, currentDir); if (!currentDir.EndsWith("\\")) currentDir += "\\"; var baseDirInfo = new DirectoryInfo(baseDir); var currentDirInfo = new DirectoryInfo(currentDir); var myDirs = Directory.GetDirectories(currentDir); var tmpDirInfos = (from d in myDirs select new DirectoryInfo(d)).ToArray(); var myDirInfos = tmpDirInfos .Where(a => a.Name.StartsWith("★")) .OrderBy(a => a.CreationTime) .ToArray() .Concat(tmpDirInfos .Where(a => !a.Name.StartsWith("★")) .OrderBy(a => a.CreationTime) .ToArray()) .ToArray(); var myFiles = Directory.GetFiles(currentDir); var myFileInfos = (from f in myFiles select new FileInfo(f)).OrderBy(a => a.LastWriteTime).ToList(); if (currentDir.StartsWith(baseDir)) { %>

<%= HttpContext.Current.Request.Url.Host %>


带 ★ 的文件夹将排在前面
<% if (currentDirInfo.FullName.Length > baseDirInfo.FullName.Length) { if (currentDirInfo.Parent != null) { var parentDirStr = currentDirInfo.Parent.FullName; if (!parentDirStr.EndsWith("\\")) parentDirStr += "\\"; %> <% } } %> <% foreach (var dirInfo in myDirInfos) { %> <% } %> <% foreach (var fileInfo in myFileInfos) { if (fileInfo.FullName.Equals(Path.Combine(baseDir, "web.config"), StringComparison.OrdinalIgnoreCase)) continue; if (fileInfo.FullName.Equals(Path.Combine(baseDir, "Default.aspx"), StringComparison.OrdinalIgnoreCase)) continue; if (fileInfo.FullName.Equals(Path.Combine(baseDir, "Web.Debug.config"), StringComparison.OrdinalIgnoreCase)) continue; %> <% } %>
时间 名称 大小
- ">../ -
<%= dirInfo.CreationTime.ToString("yyyy-MM-dd HH:mm:ss") %> "><%= dirInfo.Name %> -
<%= fileInfo.LastWriteTime.ToString("yyyy-MM-dd HH:mm:ss") %> "> <%= fileInfo.Name %> <%= fileInfo.Length %>
<% } else { %>
越界
<% } %>