如何解决无法转换类别名称而不是类别ID
我正在尝试在asp.net core 2.2中构建类别明智的子类别,我成功做到了。但我想显示类别名称而不是类别ID。 这是我的代码:
Index.cshtml
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Id)
</th>
<th>
@Html.DisplayNameFor(model => model.SubCategoryName)
</th>
<th>
Category Name
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.SubCategoryName)
</td>
<td>
@Html.DisplayFor(modelItem => item.CategoryID)
</td>
<td>
<a href="javascript:void(0);" class="anchorDetail text-danger" data-id="@item.Id"> <i class="fas fa-trash"></i></a>
</td>
</tr>
}
</table>
当我使用@Html.DisplayFor(modelItem => item.Category.CategoryName)
而不是@Html.DisplayFor(modelItem => item.CategoryID)
时,它什么也不显示。
控制器
public class SubCategoryController : Controller
{
private ApplicationDbContext _db;
public SubCategoryController(ApplicationDbContext db)
{
_db = db;
}
public IActionResult Index()
{
return View(_db.SubCategory.ToList());
}
}
我不明白如何显示类别名称而不是ID。我是初学者。请帮忙。
解决方法
使用 _db.SubCategory.Include(x => x.Category).ToList()
而不是 _db.SubCategory.ToList()
然后它按预期工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。