2011-06-12 42 views
2

我有一个列表<字典< string,string >>。在我的GridView的ItemTemplate中,我想根据它们的键将其绑定到字典中的值。绑定到项目模板中的字典

<ItemTemplate> 
    <tr class="gridRow"> 
     <table width="100%"> 
      <tr><td><%# Eval("Lastname") %>, <%# Eval("Firstname") %> </td></tr> 
      <tr><td><%# Eval("Address") %></td><td><%# Eval("Zipcode") %></td><td><%# Eval("City") %></td></tr> 
     </table> 
    </tr> 
</ItemTemplate> 

反正有没有使用代码后面呢?我只想在添加字典中的新键时更改ItemTemplate。

+0

那些'Lastname','Firstname','Address'和'Zipcode'属性来自哪里? – 2011-06-12 17:33:18

+0

对不起,我应该明确表示这是我打算做的,但不起作用。我没有属性,但字典中的键和值。 HalfTrackMindMan给我的解决方案。 – MvdD 2011-06-12 21:24:57

回答

3
<%# ((Dictionary<string, string>)(Container.DataItem))["FirstName"] %> 
+0

谢谢,这就是我一直在寻找的! – MvdD 2011-06-12 21:25:27

0

花了我一秒钟,看看你在做什么。我想你可以做到这一点,但是当你需要实际评估被绑定的物品时,有更好的构造用于绑定。

无论如何,你遇到的问题是你有一个键和一个值,你没有“名字”,“姓氏”等。是的,我知道你有字符串,有这些价值观,但他们是没有命名的价值。一个字典包含一个键值对。

我的解决方案是将数据放入像DataSet这样的结构中。然后你可以根据列名进行绑定。我想你可以适当地摆出键值对,然后按名称获取项目,但我没有尝试过。我看到HalfTrackMindMan,但我不确定这是否会以声明方式工作。这是值得一试的。

+0

我想这会工作。但是,它确实需要隐藏代码,尽管当字典中显示新键时,代码不应该改变。 HalfTrackMindMan已经提供了一个工作解决方案。 – MvdD 2011-06-12 21:32:57

相关问题