【发布时间】:2020-06-28 15:40:27
【问题描述】:
我正在做一个项目。我需要从数据库中获取几个数据并发送到视图。我已经有一个数据列表。我还想通过 viewbag 发送我的另一个数据。我从数据库中查询了我的相关数据。
类控制器.cs
public ActionResult ClassTeacherDetail(int id)
{
ViewBag.dgr = db.Teachers.Where(m => m.Id == id).FirstOrDefault();
var myList = (from t in db.Appointments
from d in t.WeekDays
where t.TeacherId == id
select new { DayName=d.Name, WHours=t.Hours }
).ToList();
// Get the languages which can be learned by the teacher based on teacher id
var query = from t in db.Teachers.Where(x => x.Id == id)
from l in t.Languages
select new
{
LangName = l.Name,
};
var list = new List<Language>();
foreach (var item in query)
{
list.Add(new Language()
{
Name = item.LangName
});
}
return View(list);
}
如您所见,我从不同的表格中获取了工作时间和天数。顺便问一下,myList 的类型是什么?如果我将其发送给查看,模型类型将是什么?
如何传递 myList?
【问题讨论】:
-
不要使用
ViewBag,而是使用模型。您可以在视图模板代码中获得类型安全性。 -
您将错误的列表分配给
ViewBag。您将myList分配给ViewBag并在视图中尝试从teacherDayHours获取dada -
但是我已经有模型了
-
你会发布你的完整控制器代码吗?
-
@JerdineSabio 我发布了完整的控制器
标签: asp.net asp.net-mvc entity-framework linq model-view-controller