ASP.NET中的Listview项目模板

ASP.NET中的Listview项目模板,asp.net,data-binding,listview,itemtemplate,Asp.net,Data Binding,Listview,Itemtemplate,我在获取ASP站点的listview权限时遇到问题。我的数据如下: 因此,我有一本包含统计数据列表的词典: Dictionary<string, IList<Stats>> Data example: Key Value Port1 List<Stats>: - int NumberOfSuspended

我在获取ASP站点的listview权限时遇到问题。我的数据如下:

因此,我有一本包含统计数据列表的词典:

Dictionary<string, IList<Stats>>

Data example:   Key                Value
               Port1               List<Stats>: - int NumberOfSuspended
                                           |    - int NumberOfCompleted
                                           |------ string messagetype
               Port2               List<Stats>: -int numberOfSuspendes
                                           |    - int numberOfCompleted 
                                           |-----string messagetype
有人能帮我处理listview的itemTemplate吗? 我觉得这有点棘手,因为我使用字典? 我使用数据绑定(Listview.Datasource=Dictionary)


谢谢你还没有尝试过这个理论,但是请告诉我你的想法:

您可以尝试添加一个占位符控件,在每个键之间循环,并在循环中应用头,还可以添加一个包含相应键数据的中继器吗

For each sKey as String in MyDictionary.Keys
  plcMyHolder.Controls.Add(New LiteralControl("<h1>" & sKey & "</h1>"))
  Dim rpt As New Repeater
  rpt.DataSource = MyDictionary(sKey)
  rpt.DataBind
  plcMyHolder.Controls.Add(rpt)
Next
MyDictionary.Keys中每个sKey作为字符串的

添加(新的LiteralControl(“&sKey&”))
Dim rpt作为新的中继器
rpt.DataSource=MyDictionary(sKey)
rpt.DataBind
plcMyHolder.Controls.Add(rpt)
下一个

您需要显示实际负责绑定的标记或代码隐藏。另一种尝试是订阅OnItemDataBound事件,使用e.Row.FindControl(“”)获取对当前行的asp.net元素的引用,并在其中为它们赋值
|----------------------------------------------
| PORT 1
|----------------------------------------------
|   MessageType1:   |   0/0 |   0/0
|----------------------------------------------
|   MessageType2:   |   0/0 |   0/0
|----------------------------------------------
|-----------------------------------------------
| PORT 2
|----------------------------------------------
|----------------------------------------------
|   MessageType1:   |   0/0 |   0/0
|----------------------------------------------
|   MessageType2:   |   0/0 |   0/0
|----------------------------------------------
For each sKey as String in MyDictionary.Keys
  plcMyHolder.Controls.Add(New LiteralControl("<h1>" & sKey & "</h1>"))
  Dim rpt As New Repeater
  rpt.DataSource = MyDictionary(sKey)
  rpt.DataBind
  plcMyHolder.Controls.Add(rpt)
Next