Asp.net net mvc将两个表连接到html无序列表中的单个列表项
我在webforms中成功地使用了一个sql内部联接和两个表,将两个表联接到一个html无序列表中 我正在使用Asp.net MVC 5 Entityframework 6 我试图在MVC中连接相同的两个表,以再次输出单个html无序列表 第一个表名为team,列id为;第二个表名为teamgallery,列id为。team.id和teamgallery.teamID的值相等 在控制器中:Asp.net net mvc将两个表连接到html无序列表中的单个列表项,asp.net,entity-framework,join,asp.net-mvc-5,entity-framework-6,Asp.net,Entity Framework,Join,Asp.net Mvc 5,Entity Framework 6,我在webforms中成功地使用了一个sql内部联接和两个表,将两个表联接到一个html无序列表中 我正在使用Asp.net MVC 5 Entityframework 6 我试图在MVC中连接相同的两个表,以再次输出单个html无序列表 第一个表名为team,列id为;第二个表名为teamgallery,列id为。team.id和teamgallery.teamID的值相等 在控制器中: dynamic dmodel = new ExpandoObject(); dmodel.Teamre =
dynamic dmodel = new ExpandoObject();
dmodel.Teamre = (from pd in db.teams
join od in db.teamgalleries on pd.id equals od.teamID
where pd.Catresales == "yes"
select new
{
pd.id,
pd.name,
od.picture
}).ToList();
return View(dmodel);
他认为:
<ul>
@foreach (var teamre in Model.Teamre)
{
<li>
@teamre
</li>
}
</ul>
我会收到这个错误
“”应用程序中的服务器错误。
“对象”不包含“名称”的定义
即使我写了,也会显示错误
name = pd.name,
还有剃刀
<ul>
@foreach (var teamre in Model.Teamre)
{
<li>
@teamre.name
</li>
}
</ul>
@foreach(Model.teamre中的var teamre)
{
-
@团队名称
}
应该这样做
<ul>
@foreach (var teamre in dmodel.Teamre)
{
<li>
@teamre.name
</li>
}
@foreach(dmodel.teamre中的var teamre)
{
我认为您使用了错误的集合进行迭代…请参见上面我的代码更改。谢谢,为名称和图片添加了ViewModel解决了此问题
public string picture { get; set; }
public string name { get; set; }
不要声明它
dynamic
,这里没有理由这样做,只需使用var
。另外,如何在类ExpandoObject
中定义Teamre
?
<ul>
@foreach (var teamre in dmodel.Teamre)
{
<li>
@teamre.name
</li>
}
public string picture { get; set; }
public string name { get; set; }