FileInfo数组不会显示在DataList中

时间:2011-11-14 10:50:17

标签: c# asp.net .net

我的目标是在我的webapplication项目中的特定文件夹中列出所有wave文件。所以我尝试了这段代码:

    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不会显示。我做错了什么?

2 个答案:

答案 0 :(得分:1)

如何添加项目模板,让您显示所需的内容,如

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

这应该显示数组中文件的名称。

如果您要使用GridView,

代码可能会显示所有属性,您可以AutoGenerateColumns

答案 1 :(得分: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();