我有一个模型,该模型的属性为list类型,而我使用EntityFramework创建了一个数据库来创建数据。我试图将其显示在表中,但无法访问列表中的元素。
public class Category
{
public int ID { get; set; }
public string Name { get; set; }
public List<Dish> Dishes { get; set; }
}
这是返回我在其中创建表的视图的控制器
public ActionResult Details(int? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Category category = db.Categories.Find(id);
if (category == null)
{
return HttpNotFound();
}
return View(category);
}
这是视图:
@model MadaEFOne.Models.Category
@{
ViewBag.Title = "Details";
}
<h2>Details</h2>
<div>
<h4>Category</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Name)
</dt>
<dd>
@Html.DisplayFor(model => model.Name)
</dd>
<dt>@Html.DisplayNameFor(model => model.Dishes)</dt>
<dd>
<table class="table">
<tr>
<th>name</th>
<th>price</th>
</tr>
@foreach (var item in Model.Dishes.ToList())
{
<tr>
<td>@item.Name</td>
<td>@item.Price</td>
</tr>
}
</table>
</dd>
</dl>
如果我没记错的话,错误是在foreach循环中,因为Model.Dishes.ToList()
返回的是null。我不知道什么是正确的语法。
我找不到任何类似的内容,因此,对于在哪里可以使用或为什么使用错误的任何建议,我们将不胜感激。
TIA