C# 如何在视图中显示单个记录(当存储在控制器中使用lambda的变量中时)

C# 如何在视图中显示单个记录(当存储在控制器中使用lambda的变量中时),c#,razor,asp.net-mvc-5,C#,Razor,Asp.net Mvc 5,在我的控制器中,我有一个var,它包含来自数据库的记录。我的问题是,我需要在我的视图中显示单个记录,但到目前为止没有任何效果 我试过使用 @Model.FirstOrDefault() 但有时会返回空值 这是来自我的控制器: // GET: hold/protokol public ActionResult Protokol(int? id) { var kursus_kursist = db.kursus_kursist.Where(x => x.kursus_id == id).In

在我的控制器中,我有一个var,它包含来自数据库的记录。我的问题是,我需要在我的视图中显示单个记录,但到目前为止没有任何效果

我试过使用

@Model.FirstOrDefault()
但有时会返回空值

这是来自我的控制器:

// GET: hold/protokol
public ActionResult Protokol(int? id)
{
var kursus_kursist = db.kursus_kursist.Where(x => x.kursus_id == id).Include(k => k.kurser).Include(k => k.kursister);

return View(kursus_kursist.ToList());
}
在k.kurser中有一个名为startdato的列,其中包含日期和kursus_id(主键)。我想要的是能够显示startdato列的值,其中kursus_id与我视图中public ActionResult Protokol(int?id)中的id相匹配*编辑:结果应该是带有日期的标题,所以我只需要显示这个值一次。我只想得到这样的输出: "2019-11-04" *我猜我可以在视图中使用razor访问它,但是如何访问呢

我(显然)很难理解这一点,所以我发现很难用语言表达我的问题。如果我需要更新/编辑我的问题,请告诉我。
谢谢

使用现有控制器,您可以参考模型集合,然后在razor中使用foreach,就像这样:

   @model List<kursis_kursist>


    @foreach (kursis_kursist item in Model)
    {
     //Access individual items here
    }
@型号列表
@foreach(模型中的kursis_kursist项)
{
//在此处访问单个项目
}
编辑:

可以创建包含标头和集合的DateTime值的ViewModel,如下所示:

public class KursistViewModel
{
 public DateTime HeaderDate {get; set;}
 public List<kursis_kursist> kursisList {get; set;}
}
公共类视图模型
{
公共日期时间标头日期{get;set;}
公共列表列表{get;set;}
}

然后,您可以将其传递到视图,并使用Razor直接访问HeaderDate,并通过foreach访问列表。

但这不会打印出多个项目(具有相同的值)?我需要制作一个包含日期的标题,所以我只需要打印一次日期。请查看我的更新答案。希望这就是您在共享实体类结构和期望之后所做的output@shyju,通过实体类结构,您是指controller.cs文件内容吗?
@Model.FirstOrDefault()
仅返回第一条记录。使用
for
foreach
循环迭代模型内容。