2014-11-22 53 views
0

我存储的List<KeyValuePair<string, bool>> 在ViewState中,当我试图将它转换回List<KeyValuePair<string, bool>> 错误状态无法从视图状态施放对象集合

无法转换对象出现问题的集合类型'System.Collections.Generic.Dictionary 2[System.String,System.Boolean]' to type 'System.Collections.Generic.List 1 [System.Collections.Generic.KeyValuePair`2 [System.String,System.Boolean]]'。

那么如何将我的键值列表从ViewState转回?

我的代码行是:

List<KeyValuePair<string, bool>> myObject = (List<KeyValuePair<string, bool>>)ViewState["listOutputWords"]; 
+1

请粘贴代码,你试过什么?? – 2014-11-22 06:48:20

+0

List > myObject =(List >)ViewState [“listOutputWords”]; – 2014-11-22 06:51:20

+1

你在'ViewState [“listOutputWords”]'中放入了什么?还显示完整的例外数据。 – 2014-11-22 06:53:10

回答

1

试试这个: -

KeyValuePair<string, bool> myObject = (KeyValuePair<string, bool>)ViewState["listOutputWords"]; 

可以清楚地由编译器所提到的,你的ViewState持有的String,Bool通用Dictionary但您要投它到错误的字典列表。

1

根据例外情况,您在ViewState中保存Dictionary<string, bool>。如果你真的需要一个List<KeyValuePair<string, bool>>,尝试:

List<KeyValuePair<string, bool>> myObject = ((Dictionary<string, bool>)ViewState["listOutputWords"]).ToList(); 

或者你可以只是把它反序列化到一个字典和使用:

Dictionary<string, bool> myObject = (Dictionary<string, bool>)ViewState["listOutputWords"];