我在迭代ViewBag对象时收到消息“'object'不包含'id'的定义:
@foreach (var f in ViewBag.FundsCenters)
{
<tr>
<td>@f.id
</td>
</tr>
}
然而在立即窗口中我看到:
@f
{ id = 0, center = Top-Level, title = title, amount = 0 }
amount: 0
center: "Top-Level"
id: 0
title: "title"
感谢您的帮助。
答案 0 :(得分:1)
动态不能跨域边界很好地转换。 ViewBag适用于页面标题或一些简单消息之类的内容,并不打算另外使用。
如果你真的想要使用它(假设它不是一个匿名对象),你可以将f
转换为它所对应的类型。 @(((FundCenter)f).id)
否则最好的建议是使用您的模型将其传递到页面。
答案 1 :(得分:0)
循环中的项目区分大小写。 E.G
@ item.firstName在这种情况下与@ item.FirstName不同...所以如果你的模型是f.Id也许代替f.id你将得到一个错误。
同样的事情发生在你的淘汰模型时。