我有两个表页面内容和程序。我需要在主页视图中显示两个表中的数据。
这是我的HomeController:
public class HomeController : Controller
{
[HandleError]
public ActionResult Index()
{
using (var dbContext = new webcastEntities())
{
pagecontent homepageText = dbContext.pagecontents.OrderByDescending(o => o.pageID).FirstOrDefault();
IOrderedQueryable<programs_tbl> programList =
dbContext.programs_tbl.Where(q => q.closed != "DEL").OrderBy(o => o.startDate);
IQueryable<JoinedContent> results = dbContext.pagecontents
.Join(dbContext.programs_tbl,
t1 => t1.pageID,
t2 => t2.ID,
(t1, t2) =>
new JoinedContent(t1, t2));
return View(results.ToList());
}
}
}
这是我认为的最新情况:
@using gcus.com.ViewModels.ContentHolders
@model IEnumerable<JoinedContent>
@{
ViewBag.Title = "Home";
}
<div class="col-md-6" style="border-right: 2px solid #c0c0c0;">
@foreach (JoinedContent item in @Model)
{
//@Html.Raw(item.Value1.content)
@Html.Raw(item.PageContent.pageText)
}
</div>
这是我的班级:
public class JoinedContent
{
public pagecontent PageContent { get; set; }
public programs_tbl ProgramsTable { get; set; }
public JoinedContent(pagecontent pageContent, programs_tbl programsTable)
{
PageContent = pageContent;
ProgramsTable = programsTable;
}
}
}
我能够快速监视调试并确认我的数据是否进入变量,因此拉数据不是问题,但是能够将数据发送到我的视图是个问题。它总是返回null ....请帮助!
答案 0 :(得分:3)
您可以创建一个具有两个对象属性的新类对象。然后,您将创建它的实例,设置适当的,并将其作为模型传递。或者您可以将每个对象放在ViewBag中并通过它访问它们。我会推荐第一个选项。
答案 1 :(得分:0)
在类上使用IEnumerable函数,我运行了两个查询并将它们组合在一个结果中,然后将其添加到视图中并且全部工作。