2012-03-13 58 views
1

我有这样的:无法做铸造

<%foreach (var item in (List<MyClass>)ViewData["something"]) {%> 

和它抛出异常:无法转换类型 '<> f__AnonymousType0 1[System.Collections.Generic.List 1 [MyClass的]]' 为类型“的对象System.Collections.Generic.List `1 [MyClass的]”。

ViewData [“something”]包含一个具有四个元素的myClass对象。如何解决这个问题?

var xx= (from x in be.x 
       select x).ToList(); 
ViewData["something"] = new { xx }; 
+0

你在你的控制器设置计算机[ “东西”]来? – 2012-03-13 11:46:59

+0

@TrevorPilley我编辑了这个问题。请参见。 – 2012-03-13 11:51:23

回答

2

你的问题是,你正试图施放一个匿名对象与它是一个列表,列表的属性。

为了解决这个问题,从

var xx = (from x in be.x select x).ToList(); 
ViewData["something"] = new { xx }; 

变化

var xx = (from x in be.x select x).ToList(); 
ViewData["something"] = xx;