Asp.net mvc ASP.ET MVC 4查看多个表中的数据ViewBag
我需要从两个表中输出信息Asp.net mvc ASP.ET MVC 4查看多个表中的数据ViewBag,asp.net-mvc,viewbag,Asp.net Mvc,Viewbag,我需要从两个表中输出信息 public class Team { [Key] public int TeamId { get; set; } public int TypeId { get; set; } public string TeamName { get; set; } }public class TeamType { [Key] public int TypeId { get; set; } public string Ty
public class Team
{
[Key]
public int TeamId { get; set; }
public int TypeId { get; set; }
public string TeamName { get; set; }
}public class TeamType
{
[Key]
public int TypeId { get; set; }
public string TypeName { get; set; }
public virtual ICollection<Team> Teams { get; set; }
}
鉴于此,我认为:
@using Renegades.Helpers
@model IEnumerable<Renegades.Models.TeamType>
@foreach (var t in ViewBag.TeamList)
{
<li>
<span>@t.TypeName</span>
<ul id="sub_team_menu">
@foreach (var team in t.Team)
{
<li>team.TeamName</li>
}
</ul>
</li>
}
@使用叛徒。助手
@模型IEnumerable
@foreach(ViewBag.TeamList中的变量t)
{
@t、 字体名
@foreach(t.team中的var团队)
{
- 团队名称
}
}
请帮助我了解如何从视图中的两个或多个表中输出数据如果表通过外键相互连接(如您的情况),则可以使用其他表作为属性。比如
TeamType.Teams
。但是我看到您没有在团队
类中引用团队类型
编辑您的类,如:
public class Team
{
[Key]
public int TeamId { get; set; }
public int TypeId { get; set; }
public string TeamName { get; set; }
public virtual TeamType Type{get;set;} // Add this to your class
}
然后使用Team.Type
作为属性访问Type
表。比如:
@foreach (var team in t.Team)
{
<li>team.Type.TypeName</li>
}
@foreach(t.team中的var团队)
{
team.Type.TypeName
}
但是,如果这些表没有相互连接,那么最简单的答案是您必须为此创建ViewModel
。现在什么是ViewModel,这并不简单,要研究ViewModel,请点击以下链接:
下面是另一个更简单的链接:
当我在控制器teamModel=$db.TemType.Include(“团队”).ToList()中使用此控件时;在view@foreach(Model.Teamtypes中的var t){
@foreach (var team in t.Team)
{
<li>team.Type.TypeName</li>
}