我正在存储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"];
答案 0 :(得分:1)
试试这个: -
KeyValuePair<string, bool> myObject = (KeyValuePair<string, bool>)ViewState["listOutputWords"];
正如编译器明确提到的那样,你的ViewState持有Dictionary
的{{1}},但是你试图将它强制转换为错误的字典列表。
答案 1 :(得分:1)
根据例外情况,您需要在Dictionary<string, bool>
中保存ViewState
。如果您确实需要List<KeyValuePair<string, bool>>
,请尝试:
List<KeyValuePair<string, bool>> myObject = ((Dictionary<string, bool>)ViewState["listOutputWords"]).ToList();
或者您可以将其反序列化为字典并使用:
Dictionary<string, bool> myObject = (Dictionary<string, bool>)ViewState["listOutputWords"];