我正在实体框架中进行左外连接并将输出发送到表中ViewBag
以显示在表中。但是,a 中不显示任何内容View
。我的代码如下。
var clients = db.Client
.Include("ClientInformation")
.Where(t => t.IsApplicationRegistered == false)
.Take(20);
var q = (from c in clients
join a in db.Agent
on c.AgentUserId equals a.AgentUserId into jointable
from x in jointable.DefaultIfEmpty()
select new
{
c.ClientId,
c.ClientInformation.FirstName,
c.ClientInformation.FamilyName,
c.ClientInformation.Address,
AgentFirstName = x.FirstName,
AgentLastName = x.LastName
}).ToList();
ViewBag.clients = q;
这会检索结果(我可以在调试期间通过 IntelliSense 看到它们)但视图不显示任何内容。示例视图如下。
@foreach (dynamic item in ViewBag.clients)
{
<tr>
<td>@item.FirstName @item.FamilyName</td>
<td>@item.Address</td>
<td>@item.AgentFirstName @item.AgentLastName</td>
</tr>
}
有任何想法吗?谢谢。
更新:
在里面View
我得到一个例外
'object' does not contain a definition for 'FirstName'
但是,当我将鼠标悬停item
在foreach
循环内部时,我可以清楚地看到它就在那里。