2

我想在 C# 的 ListView 中绑定 C 盘中的所有目录和文件

我的代码是:

protected void Page_Load(object sender, EventArgs e)
{
    DirectoryInfo di = new DirectoryInfo("C:\\");

    FullDirList(di);
    ListView1.DataSource = lst;
    ListView1.DataBind();
}

ArrayList lst = new ArrayList();

public void FullDirList(DirectoryInfo dir1)
{

    foreach (DirectoryInfo d in dir1.GetDirectories())
    {
        lst.Add(d);
    }

    foreach (FileInfo f in dir1.GetFiles() )
    {
        lst.Add(f);
    }
}

它给出了以下错误

“必须在 ListView 'ListView1' 上定义 ItemTemplate”

4

1 回答 1

2

您需要编写一些像这样的 aspx,其中包括ItemTemplate每个列表项的一个。这就是你得到的错误。

<asp:ListView runat="server" ID="ListView1" 
    DataSourceID="SqlDataSource1">
  <LayoutTemplate>
    <table runat="server" id="table1" >
      <tr runat="server" id="itemPlaceholder" ></tr>
    </table>
  </LayoutTemplate>
  <ItemTemplate>
    <tr runat="server">
      <td runat="server">
        <%-- Data-bound content. --%>
        <asp:Label ID="NameLabel" runat="server" 
          Text='<%#Eval("Name") %>' />
      </td>
    </tr>
  </ItemTemplate>
</asp:ListView>

来自这里的示例

于 2013-06-05T08:23:01.623 回答