我试图将子文件夹名称而不是全名放入数据表的单独列中。请帮忙。

protected void Page_Load(object sender, EventArgs e) {
    DataTable ReportsDT = new DataTable("ReportsDT");
    ReportsDT.Columns.Add("Name");
    ReportsDT.Columns.Add("FolderName");
    DirectoryInfo DirInfo = new DirectoryInfo(Server.MapPath("Reports"));
    DataRow ReportDTRow = ReportsDT.NewRow();
        foreach (FileInfo fi in DirInfo.GetFiles("*.*", SearchOption.AllDirectories)) {
            ReportDTRow = ReportsDT.NewRow();
            ReportDTRow["Name"] = fi.Name;
            ReportDTRow["FolderName"] = fi.FullName;
            ReportsDT.Rows.Add(ReportDTRow);
        }
}

最佳答案

您可以使用DirectoryInfo获取有关给定目录的信息。您在FileInfo下的fi.Directory实例中提供了一个副本:

foreach (FileInfo fi in DirInfo.GetFiles("*", SearchOption.AllDirectories)) {
    ReportDTRow = ReportsDT.NewRow();
    ReportDTRow["Name"] = fi.Name;
    ReportDTRow["FolderName"] = fi.Directory.Name;
    ReportsDT.Rows.Add(ReportDTRow);
}

关于c# - 仅将FolderName放入数据表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14286371/

10-10 13:47