如何在子目录中显示文件

时间:2015-12-09 10:20:58

标签: c# asp.net asp.net-4.0

我很难理解如何在子目录中显示图像。

目前,我有以下代码,用于在这些子目录中显示图像文件

代码背后

protected void Page_Load(object sender, EventArgs e)
{
  if (!IsPostBack)
  {
    List<string> files = new List<string> (Directory.GetFiles(Server.MapPath("/Screenshots/"), "*.png", SearchOption.AllDirectories));

    files = files.Select(s => s.Replace(@"D:\wwwroot\blah\blah", "")).ToList();

    rptDirectory.DataSource = files;
    rptDirectory.DataBind();        
  }
}  

前端

<asp:Repeater ID="rptDirectory" runat="server">
<HeaderTemplate>            
  <h2>Results</h2>
  <br />
  <div style="display: inline;">
</HeaderTemplate>
<ItemTemplate>
  <ul>
      <li> <asp:HyperLink ID="hplFolder" runat="server" NavigateUrl="<%# Container.DataItem%>" Text="<%# Container.DataItem %>" /></li>
  </ul>         
</ItemTemplate>    
</asp:Repeater>  

以上工作正常,我可以在一个页面上显示所有图像。

但是,我想首先将其父文件夹首先显示为超链接/链接,然后用户点击该链接并将其带到另一个页面,其中将显示该父文件夹的所有图像

目前文件夹结构如下

  • 屏幕截图(Parent)
    • Folder1(Child)
      • 另一个文件夹(兄弟姐妹)
        • 图片

所以基本上想要将文件夹1名称显示为超链接,然后当我点击文件夹时,它会将我带到另一个显示图像的页面。

我应该使用其他asp面板来显示图像吗?

希望我对上面所说的内容感到困惑?

由于