2

我有一个列表<字典<字符串,字符串>>。在我的 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。

4

2 回答 2

4
<%# ((Dictionary<string, string>)(Container.DataItem))["FirstName"] %>
于 2011-06-12T17:57:16.800 回答
0

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

无论如何,您遇到的问题是您有一个键和一个值,您没有“名字”、“姓氏”等。是的,我知道您有具有这些值的字符串,但它们没有被命名为值. 字典包含一个键值对。

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

于 2011-06-12T18:11:07.357 回答