我正在尝试使用转发器填充<li>
项,并将其绑定到Dictionary对象。我有一个名为cart的字典,带有标准Key,Value属性。
我收到运行时错误:
`System.InvalidCastException: Specified cast is not valid.`
我使用了这段代码:
<ItemTemplate>
<li id="<%# ((KeyValuePair<string,string>)Container.DataItem).Key %>_i" >
<%# ((KeyValuePair<string,string>)Container.DataItem).Key %> <%# ((KeyValuePair<string,string>)Container.DataItem).Value %>
</li></ItemTemplate>
这里有什么问题?
答案 0 :(得分:1)
绑定到Dictionary<string, string>
时,您的ItemTemplate适合我。因此,我建议检查Repeater是否真的绑定到Dictionary<string, string>
。
如果没有,则异常是有意义的,可以通过修复数据绑定代码(或更改ItemTemplate中使用的类型以使其与绑定到Repeater的数据匹配来解决。
答案 1 :(得分:0)
如果您的词典不是Dictionary<string, string>
,您可以执行类似
((System.Collections.Generic.KeyValuePair<string,byte[]>)(Container.DataItem)).Key
或
((System.Collections.Generic.KeyValuePair<clsProduct,int>)(Container.DataItem)).Key.ProductCode