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

How to display individual records in view (when stored in variable that uses lambda in controller)

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

我试过使用

@Model.FirstOrDefault()

但有时 return 为空值。

这是我的控制器:

// 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》 * 我猜我可以在视图中使用剃刀以某种方式访问​​它,但是如何访问它?

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

使用现有的控制器,您将参考 collection 个模型,然后像这样在剃须刀中使用 foreach:

   @model List<kursis_kursist>


    @foreach (kursis_kursist item in Model)
    {
     //Access individual items here
    }

编辑:

您可以创建一个包含 header 和 collection 的 DateTime 值的 ViewModel,如下所示:

public class KursistViewModel
{
 public DateTime HeaderDate {get; set;}
 public List<kursis_kursist> kursisList {get; set;}
}

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