【问题标题】:asp.net - displaying a dictionary with a list as the value?asp.net - 显示以列表为值的字典?
【发布时间】:2009-08-20 08:29:22
【问题描述】:

我正在寻求有关在 ASP.Net (C#) 中执行此操作的最佳方法的建议。

我正在尝试创建一个页面,列出我们办公室的所有员工,并汇总了他们 4 周的时间表。

我每周都有一个时间表对象,它可以完成所有这些工作,我想我可以返回一个 Dictionary> 来获取那里的数据。但是,数据绑定的最佳方式是什么?

我希望它显示的是这样的:

StaffMember - WEEK 1 (DATE) - WEEK 2 (DATE) - WEEK 3 (DATE) - WEEK 4 (DATE)
---------------------------------------------------------------------------
BOB BUILDER - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[]
OLD MATE    - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[] - Val1, Val2,[]

等所有员工。 [] 表示一个复选框,使用此页面的人将在他们处理完与该周时间表相关的内容时选中该复选框。

我的想法是这样的: - 有一个带有项目模板设置的列表视图,以具有表格行和单元格,以及值的文字 - onitemdatabound 获取键值对,然后将员工文字设置为员工的姓名(这是键),然后将每周的每个值设置为列表中相应时间表中的值

问题是我不确定如何动态设置每周的日期,我想我可以在列表视图的模板上做一个 findcontrol 什么的?或者在列表视图之外设置表格?只是感觉有点乱,所以我想我会从 stackoverflow 的聪明人那里得到一些建议。有没有更简单的方法来做到这一点?在 .net 中使用复杂的字典是不受欢迎的吗?还有其他方法吗?

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    您可以通过实现ObjectDataSource 快速浏览一下。由于您一开始只会从数据中进行选择,因此这可能相对容易实现。

    您可以构建一个具有 Date 属性的类,您可以使用它来过滤对您的字典的 Select() 调用。然后,您可以在代码中操作您的 ObjectDataSource,以便在需要时为其提供一个新的日期值,然后再次在您的网格上调用 Databind()。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2022-01-15
      • 2016-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多