如何访问类型列表的模型数据?

时间:2020-06-10 20:26:51

标签: asp.net-mvc entity-framework

我有一个模型,该模型的属性为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

0 个答案:

没有答案
相关问题