如何将连接数据传递给 MVC 中的视图

How to pass Join Data to View in MVC

我是 MVC 新手。在这里,我加入了 4 个表并成功检索了数据,但我不知道如何将这些数据传递给查看。

请任何人帮助我。提前致谢。

控制器代码

public class EditController : Controller
{

    public ActionResult Index()
    {

                    MachineTest1DbEntities entity = new MachineTest1DbEntities();
                    var entryPoint = (from Tt in entity.TransactionTables
                    join pm in entity.Projectmasters on Tt.ProjectId equals pm.ProjectId
                    join ps in entity.ProjectStatusmasters on Tt.ProjectStatusId equals ps.ProjectStatusId
                    join mm in entity.Modulemasters on Tt.ModuleId equals mm.ModuleId

                    select Tt
                );


        return View(entryPoint);
    }
}

您必须将 .ToList() 添加到 IQueryable 返回结果中,然后将其发送到您的视图。 这将向您的视图发送一个列表,您可以使用 foreach(var item in Model) 进行迭代:

public ActionResult Index()
{
  var result= (from Tt in entity.TransactionTables
                join pm in entity.Projectmasters on Tt.ProjectId equals pm.ProjectId
                join ps in entity.ProjectStatusmasters on Tt.ProjectStatusId equals 
                ps.ProjectStatusId
                join mm in entity.Modulemasters on Tt.ModuleId equals mm.ModuleId

                select Tt
            ).ToList();


    return View(result);
}

首先使用要在视图中显示的属性创建自定义模型。

例如。

public class ResultModel
{
    public int ProjectId{ get; set; }
    public string  ProjectName { get; set; } 
    public string  ProjectStatus { get; set; } 
}

在操作方法中,将所选结果映射到自定义模型。

public ActionResult Index()
{
     MachineTest1DbEntities entity = new MachineTest1DbEntities();
     var result= (from Tt in entity.TransactionTables
            join pm in entity.Projectmasters on Tt.ProjectId equals pm.ProjectId
            join ps in entity.ProjectStatusmasters on Tt.ProjectStatusId equals 
            ps.ProjectStatusId
            join mm in entity.Modulemasters on Tt.ModuleId equals mm.ModuleId
            select new ResultModel
                       {
                           ProjectId= Tt.ProjectId,
                           ProjectName = Tt.ProjectName ,
                           ProjectStatus =Tt.ProjectStatus 
                       }).ToList();      
     return View(result);
}

然后在您的视图中使用这样的模型:@model List<ResultModel>