2014-11-22 37 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"];