linq 语句,使用from p in db select new{...}.ToList() 返回的对象在视图里访问不到属性

varlist=fromoindb.Orderswhereo.UserId==UserIdselectnew{//orderDetails表中的字段products=fr... var list = from o in db.Orders
where o.UserId == UserId
select new
{
//orderDetails 表中的字段
products = from od in db.OrderDetails where o.Id == od.OrderId select new {
Id = od.Id,
Quantity = od.Quantity,
Total = od.Total,
Img = p.Imgpath,
Name = p.Name,
Price = p.Price
},
//以下为Orders表中的字段
Id = o.Id,
OrderDate = o.OrderDate,
Status = o.Status,
};
ViewBag.plist = list.Skip((id - 1) * pageSize).Take(pageSize).ToList();

在View 视图中

遍历循环 plist
@foreach(var item in ViewBag.plist)
{
<li> @item.Name </li> //出现错误了,弹出Object对象未包含 Name
}

调试了一下 ,发现ViewBag.plist 这个动态对象的里属性是不能被访问的。 我该怎么做? 我使用的是entity FrameWork 实体模型,有 orders和orderDetails 两个模型
展开
 我来答
depluin
2012-06-10 · TA获得超过3179个赞
知道大有可为答主
回答量:3378
采纳率:75%
帮助的人:2450万
展开全部
foreach(var item in ViewBag.plist)

你需要强制转换类型一下,先定义一个类,包含选择的字段,查询数据库的时候不要用匿名类,用定义好的。
然后在调用 ViewBag.plist前先把 ViewBag.plist转换成定义类的List访问
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式