0

我正在尝试从视图状态中获取字典。但是我收到一个错误,说它没有被标记为序列化。

var groupByCountDictionary = from supplier in supplierDirectoryList
                             group supplier by supplier.ProductCategory into grp
                             select new
                             {
                                 groupName = grp.Key,
                                 count = grp.Select(x => x.ProductCategory).Count()
                             };
ViewState["GroupbyCount"] = groupByCountDictionary;       
Dictionary<string,int> groupByDictionary = (Dictionary<string,int>) ViewState["GroupbyCount"];

然后在回发后的另一种方法中,我试图从上面的视图状态中获取字典,这会导致错误。

4

1 回答 1

2

从您的代码中, groupByCountDictionary 不是字典,而是IEnumerable<anonymous_type>. 您可以重写您的 LINQ 代码以使用.ToDictionary(...)将返回您期望的对象的方法。

于 2013-07-06T07:52:34.993 回答