C# 在视图中显示实体框架查询的结果
我是实体框架的新手,我想在我的视图页面上显示在控制器中执行的查询结果 这是我在控制器中的代码我不知道从这里去哪里请帮助我感谢任何人的帮助谢谢:C# 在视图中显示实体框架查询的结果,c#,entity-framework,C#,Entity Framework,我是实体框架的新手,我想在我的视图页面上显示在控制器中执行的查询结果 这是我在控制器中的代码我不知道从这里去哪里请帮助我感谢任何人的帮助谢谢: public ActionResult StartQiz() { using (var question = new Quizdb()) { var quest = (from q in question.Exams where q.ExamT
public ActionResult StartQiz()
{
using (var question = new Quizdb())
{
var quest = (from q in question.Exams
where q.ExamType.StartsWith("C#")
select q);
ViewBag.querry = quest;
}
return View();
}
您不需要将查询结果传递给ViewBag。只需将结果返回到视图即可。(右键单击视图(任务),然后选择添加视图;以防您没有相应的ViewModel类)
您当前正在使用ViewBag对象将数据从操作方法传递到视图。这是可以做到的,但是你可能需要考虑使用模型方法。< /P>
public ActionResult StartQiz()
{
using (var question = new Quizdb())
{
var quest = (from q in question.Exams
where q.ExamType.StartsWith("C#")
select q);
return View(quest);
}
} `
在您看来,第一行应该声明模型:
@model IEnumerable<Type>
@model IEnumerable
然后,您可以通过以下方式访问数据:
@foreach(var exam in Model)
{
<p>exam.Title</p>
}
@foreach(模型中的var检查)
{
考试题目
}
只需检查此链接:它解释了所有的基础知识。此链接上的教程使用内置CRUD操作模板,我实际上想做一种类似于问答练习的选择问题和答案选项。他还需要视图接受相应的模型类型。感谢您的帮助,但是,当我使用上面的代码运行应用程序时,我收到了此错误消息:“传递到字典中的模型项的类型为'System.Collections.Generic.List'1[ExamicationPortal.Models.Exams',但此字典需要'ExamicationPortal.Models.Exams'类型的模型项。”视图中的模型类型与查询结果不同。如果可以删除视图(如果没有任何副作用)或者将您从ExaminationalPortal.Models.Examies查看到的模型类型更改为list,然后使用ForEach迭代列表。您可以帮助我解决如何在mvc中使用更新面板的问题吗?老实说,我不能,因为我对更新面板不太了解。问一个问题。当我使用@model IEnumerable时,这实际上是有效的,但它仅适用于为@Html.DisplayNameFor(model=>model.C)工作并在使用@Html.DisplayFor(model=>model.C)获取选项时抛出,现在我只能获取标题,但无法获取问题和选项
@foreach(var exam in Model)
{
<p>exam.Title</p>
}