绑定到itemtemplate中的字典

时间:2011-06-12 17:29:40

标签: c# asp.net data-binding itemtemplate binding-expressions

我有一个List<字典< 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。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

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

无论如何,你遇到的问题是你有一把钥匙和一个价值,你没有&#34;名字&#34;,&#34;姓氏&#34;等等。是的,我知道你有具有这些值的字符串,但它们没有被命名为值。字典包含键值对。

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

相关问题