asp.net 获取指定文件夹下所有子目录及文件(树形)
发布时间:2020-03-17 23:21:09 所属栏目:Asp教程 来源:互联网
导读:asp.net获取指定文件夹下所有子目录及文件,现在有asp.net的站的就是用这样的原理显示文件的
#region 获取指定文件夹下所有子目录及文件(树形) /**************************************** * 函数名称:GetFoldAll(string Path) * 功能说明:获取指定文件夹下所有子目录及文件(树形) * 参 数:Path:详细路径 * 调用示列: * string strDirlist = Server.MapPath("templates"); * this.Literal1.Text = EC.FileObj.GetFoldAll(strDirlist); *****************************************/ /// <summary> /// 获取指定文件夹下所有子目录及文件 /// </summary> /// <param name="Path">详细路径</param> public static string GetFoldAll(string Path) { string str = ""; DirectoryInfo thisOne = new DirectoryInfo(Path); str = ListTreeShow(thisOne, 0, str); return str; } /// <summary> /// 获取指定文件夹下所有子目录及文件函数 /// </summary> /// <param name="theDir">指定目录</param> /// <param name="nLevel">默认起始值,调用时,一般为0</param> /// <param name="Rn">用于迭加的传入值,一般为空</param> /// <returns></returns> public static string ListTreeShow(DirectoryInfo theDir, int nLevel, string Rn)//递归目录 文件 { DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录 foreach (DirectoryInfo dirinfo in subDirectories) { if (nLevel == 0) { Rn += "├"; } else { string _s = ""; for (int i = 1; i <= nLevel; i++) { _s += "│ "; } Rn += _s + "├"; } Rn += "<b>" + dirinfo.Name.ToString() + "</b><br />"; FileInfo[] fileInfo = dirinfo.GetFiles(); //目录下的文件 foreach (FileInfo fInfo in fileInfo) { if (nLevel == 0) { Rn += "│ ├"; } else { string _f = ""; for (int i = 1; i <= nLevel; i++) { _f += "│ "; } Rn += _f + "│ ├"; } Rn += fInfo.Name.ToString() + " <br />"; } Rn = ListTreeShow(dirinfo, nLevel + 1, Rn); } return Rn; } /**************************************** * 函数名称:GetFoldAll(string Path) * 功能说明:获取指定文件夹下所有子目录及文件(下拉框形) * 参 数:Path:详细路径 * 调用示列: * string strDirlist = Server.MapPath("templates"); * this.Literal2.Text = EC.FileObj.GetFoldAll(strDirlist,"tpl",""); *****************************************/ /// <summary> /// 获取指定文件夹下所有子目录及文件(下拉框形) /// </summary> /// <param name="Path">详细路径</param> ///<param name="DropName">下拉列表名称</param> ///<param name="tplPath">默认选择模板名称</param> public static string GetFoldAll(string Path,string DropName,string tplPath) { string strDrop = "<select name="" + DropName + "" id="" + DropName + ""><option value="">--请选择详细模板--</option>"; string str = ""; DirectoryInfo thisOne = new DirectoryInfo(Path); str = ListTreeShow(thisOne, 0, str,tplPath); return strDrop+str+"</select>"; } /// <summary> /// 获取指定文件夹下所有子目录及文件函数 /// </summary> /// <param name="theDir">指定目录</param> /// <param name="nLevel">默认起始值,调用时,一般为0</param> /// <param name="Rn">用于迭加的传入值,一般为空</param> /// <param name="tplPath">默认选择模板名称</param> /// <returns></returns> public static string ListTreeShow(DirectoryInfo theDir, int nLevel, string Rn,string tplPath)//递归目录 文件 { DirectoryInfo[] subDirectories = theDir.GetDirectories();//获得目录 foreach (DirectoryInfo dirinfo in subDirectories) { Rn += "<option value="" + dirinfo.Name.ToString() + """; if (tplPath.ToLower() == dirinfo.Name.ToString().ToLower()) { Rn += " selected "; } Rn += ">"; if (nLevel == 0) { Rn += "┣"; } else { string _s = ""; for (int i = 1; i <= nLevel; i++) { _s += "│ "; } Rn += _s + "┣"; } Rn += "" + dirinfo.Name.ToString() + "</option>"; FileInfo[] fileInfo = dirinfo.GetFiles(); //目录下的文件 foreach (FileInfo fInfo in fileInfo) { Rn += "<option value="" + dirinfo.Name.ToString()+"http://www.jb51.net/"+fInfo.Name.ToString() + """; if (tplPath.ToLower() == fInfo.Name.ToString().ToLower()) { Rn += " selected "; } Rn += ">"; if (nLevel == 0) { Rn += "│ ├"; } else { string _f = ""; for (int i = 1; i <= nLevel; i++) { _f += "│ "; } Rn += _f + "│ ├"; } Rn += fInfo.Name.ToString() + "</option>"; } Rn = ListTreeShow(dirinfo, nLevel + 1, Rn, tplPath); } return Rn; } #endregion (编辑:焦作站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |