[英]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.