asp.net - 如何在 C# 中将 ListView 与目录和文件绑定(bind)

标签 asp.net c#-4.0

我想在 C# 中的 ListView 中绑定(bind) 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);
    }
}

出现以下错误

"An ItemTemplate must be defined on ListView 'ListView1'"

最佳答案

您需要编写一些像这样的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>

示例来自here

关于asp.net - 如何在 C# 中将 ListView 与目录和文件绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934353/

相关文章:

asp.net - 使用 Autofac 将 DI 引入 ASP.NET 应用程序中托管的 WCF 服务

asp.net - IOS 上无服务器多人游戏

c# - 如何在多语言 Web 应用程序中转换和存储可配置项?

.net - ToPascalCase() C# for all caps 缩写

c# - 如何获取每个进程的带宽?

javascript - 检查通知是否已被检查

asp.net - 使用 ASP.NET 路由来提供静态文件

c# - ASP.NET C# 列出哪个和什么时候?

c# - 实现 if else 语句的通用方法

asp.net-mvc - 动态类型的 ViewPage