[更新]
很抱歉,我应该将这个问题标记为MVC-2,我将查询结果传递到视图的模型中,因此我必须在视图的头部定义中指定我的模型类型。我像这样声明:
Inherits="System.Web.Mvc.ViewPage<IQueryable<dynamic>>"
然而没有任何变化,也没有一个答案适用于我:( 最后我使用了一个ModelView类作为帮助程序来将我的查询结果放入其中。:(
[/更新]
我有一个像这样的查询:
IQueryable<dynamic> result = from d in KiaNetRepository.KiaNetEntities.Discounts
where d.AgentTypeID == agentTypeId
select new { d.Category, d.DiscountValue, d.PriceConfige };
然后我在视图中像这样检索值:
foreach(var item in result){
Category cat = item.Category; // throws exception 'object' does not contain a definition for 'Category'
//...
}
请注意,将查询类型定义为IQueryable是匿名类。
item
包含{ d.Category, d.DiscountValue, d.PriceConfige }
成员!!! 我感到困惑! - JalalIQueryable<dynamic>
吗? 你不能只使用IQueryable
这个单词吗?将其作为dynamic
使用会移除 IntelliSense,因为动态类型是设计用于晚期绑定的。这也可以帮助你解决关于为什么“类别(Category)”对象无效的问题。 - Dominic Zukiewicz