2011-11-14 32 views
0

我的目標是在我的web應用程序項目的特定文件夾中列出所有wave文件。所以,我想這個代碼:FileInfo數組將不會顯示在DataList中

protected void Page_Load(object sender, EventArgs e) 
    { 
     string path = Server.MapPath("/alldata/wav/"); 
     DirectoryInfo di = new DirectoryInfo(path); 
     FileInfo[] filelist = di.GetFiles("*.wav", SearchOption.TopDirectoryOnly); 
     DataList_filelist.DataSource = filelist; 
     DataList_filelist.DataBind(); 
    } 

標記是:

 <asp:DataList ID="DataList_filelist" runat="server" RepeatColumns="1"> 
     </asp:DataList> 

但我的DataList將不會顯示。我做錯了什麼?

+0

我假設你已經證實,在文件列表中有數據

代碼可能出現的所有屬性? – Chris

+0

@ Chris:是的,我做了一個調試,並確定我的文件全部在FileInfo數組中。 –

+0

你可以發佈DataList的標記 – V4Vendetta

回答

1

如何添加項模板可以讓你顯示一個類似

<ItemTemplate> 
    <%# Eval("Name") %> 
</ItemTemplate> 

所需要的東西這將顯示在陣列中的文件的名稱。如果你使用的GridView,其中你可以AutoGenerateColumns

+0

謝謝! ItemTemplate是解決方案! –

0

假設您正在填充數據源(即您正在查看正確的文件夾,並且ASP具有讀取權限),只需跳過FileInfo []數組,然後使用DirectoryInfo.GetFiles作爲數據源。

string path = Server.MapPath("/alldata/wav/"); 
DirectoryInfo di = new DirectoryInfo(path); 
DataList_filelist.DataSource = di.GetFiles("*.wav"); 
DataList_filelist.DataBind(); 
+0

我試過了,但它有相同的結果。 –