如何在ASP.NET Razor页面上获取目录及其子目录中所有文件的信息?

时间:2014-09-18 20:26:27

标签: razor

我有一个ASP.NET Razor(C#)页面。在这个页面上,我需要显示目录下的文件信息。信息包括文件名,大小,路径和上次修改的时间。

我如何获得此类信息?

谢谢和问候。

1 个答案:

答案 0 :(得分:2)

这是VB代码和ASP,但它应该为您提供所需的基础。

将其放入您的代码段

Dim logFilesDirectoryInfo As New DirectoryInfo(Server.MapPath(Request.ApplicationPath) & "\Import\LogFiles")
Dim Files() As System.IO.FileInfo = logFilesDirectoryInfo.GetFiles()
'FileListDataGrid is an ASP Object, and this binds the Files list to it
FileListDataGrid.DataSource = Files
FileListDataGrid.DataBind()

这是你的ASP对象。您可以自动生成列,或者自己创建和填充列,就像我对我想要的列,文件名,LastWriteTime和长度(文件大小)所做的那样。

        <asp:DataGrid runat="server" id="FileListDataGrid"
        AutoGenerateColumns="False" HeaderStyle-BackColor="Navy" HeaderStyle-Font-Size="8pt" AllowSorting="true">
       <Columns>
        <asp:HyperLinkColumn Target="_blank" DataNavigateUrlFormatString="../Photos/{0}" DataNavigateUrlField="Name" DataTextField="Name" 
               HeaderText="File Name" HeaderStyle-HorizontalAlign="Left" />
        <asp:BoundColumn DataField="LastWriteTime" HeaderText="Upload Date" HeaderStyle-HorizontalAlign="Center"
            ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" Visible="true" ItemStyle-Width="100px" />
        <asp:BoundColumn DataField="Length" HeaderText="File Size"
            ItemStyle-HorizontalAlign="Right" 
            DataFormatString="{0:#,### bytes}" ItemStyle-Width="115px" HeaderStyle-HorizontalAlign="Center" />
      </Columns>
    </asp:DataGrid>