这是我的第一篇文章,对于我的意识不足,我深表歉意。
我正在尝试根据所选的类别ID选择链接到该类别的许多项目。我知道我需要以某种方式利用模型中创建的列表,但不确定如何。
换句话说,我想根据在站点上选择的类别,在“详细信息”类别中列出菜单项。
MenuCategory Model
public class MenuCategory
{
public int MenuCategoryId
{
get;
set;
}
public string Name
{
get;
set;
}
public List<MenuItem> MenuItems
{
get;
set;
}
}
MenuItem Model
public class MenuItem
{
public int MenuItemId
{
get;
set;
}
public string Name
{
get;
set;
}
public string Image
{
get;
set;
}
[ForeignKey("MenuCategory")]
public int MenuCategoryId
{
get;
set;
}
public MenuCategory MenuCategory
{
get;
set;
}
}
MenuCategory查看索引
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
<a asp-controller="MenuCategories" asp-action="Details" asp-route-id="@item.MenuCategoryId">
Details
</a>
</td>
</tr>
}
</tbody>
MenuCategory详细信息视图
@model Farbucks.Models.MenuCategory
@{
ViewData["Title"] = "Details";
}
<h2>Details</h2>
<div>
<h4>MenuCategory</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Name)
</dt>
</dl>
</div>
<div>
<a asp-action="Index">Back to List</a>
</div>
在MenuCategory Details View]中,您可以使用Lazy loading in entity]获取MenuItem的列表>