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){
  • @t.TypeName
  • @foreach(t.Teams中的var team){@t.TeamName}evrythin中使用以下代码可以正常工作,但我不想在evre我的控制器中跳过这些代码,因为您必须想出一个合适的体系结构。谢谢您的时间,我发现了我的错误
     @foreach (var team in t.Team)
    {
        <li>team.Type.TypeName</li>
    }