繁体   English   中英

1 model 在一个视图中拆分为 3 个表,可以吗?

[英]1 model split into 3 tables in one view, is it possible?

我有 1 个 model 和数据库,有 3 个不同的存储过程,它们会将一个主表的内容分类为 3 个较小的子部分,将它们作为单独的列表输出。 我为 3 个存储过程的结果创建了一个包含 3 列的视图。 是否可以将 3 个不同的存储过程添加到同一个视图中? 请参阅下图了解我的意思。

在此处输入图像描述

存储过程都是非常基本的SELECT语句,有点像根据它们满足的条件将表分为 3 个不同的子部分。

我的 controller 代码现在没有到达第二个和第三个视图,因为它只能返回一次。 可以在这里写点什么吗?

 public ActionResult Index()
        {
            using (var context = new ApplicationDbContext())
            {
                var none = context.Applications.SqlQuery("dbo.metNoCriteria").ToList();
                var basic = context.Applications.SqlQuery("dbo.metBasicCriteria").ToList();
                var more = context.Applications.SqlQuery("dbo.metMoreCriteria").ToList();
                return View(basic);
                
            }
            // View(db.Applications.ToList());
        }

换句话说,我试图将一个数据库的内容拆分为 3 个部分,并将它们作为三个不同的表输出到一个视图中,如上所示。 (图像不正确,因为表格包含相同的内容;它们不会)。 它们都将具有相同的多边、双边和名称列,但以下 3 种颜色的内容将有所不同。

希望有人知道是否有可能这样做!

您必须创建一个 viewModel class:


public class TablesViewModel
{
public List<NoneClass> NoneClassList {get; set;}
public List<BaseClass> BaseClassList {get; set;}
public List<MoreClass> MoreClassList {get; set;}
}

那个行动:


public ActionResult Index()
  {
        var model=new TablesViewModel();

            using (var context = new ApplicationDbContext())
            {
  model.NoneClassList = context.Applications.SqlQuery("dbo.metNoCriteria").ToList();
model.BaseClassList = context.Applications.SqlQuery("dbo.metBasicCriteria").ToList();
 model.MoreClassList = context.Applications.SqlQuery("dbo.metMoreCriteria").ToList();
 
            }
            return View(model);
  }

在视图内部使用每个列表作为表源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM