微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何显示来自MVC中外键的数据片段名称

如何解决如何显示来自MVC中外键的数据片段名称

我正在尝试使视图显示类别名称,而不只是ID。

这是我的代码

型号:

    public class Category
    {
        [Key]
        public string Cat_ID { get; set; }
        public string Cat_Name { get; set; }
    }
/////////////////////////////////////////////////////////
    public class SubCategory
    {
        [Key]
        public string SCat_ID { get; set; }
        public string SCat_Name { get; set; }
        [ForeignKey("SCat_Cat")]
        public string SCat_Cat { get; set; }
        public virtual Category Category { get; set; }
    }

SubCategory控制器(视图部分):

        public SubCategoriesController(ApplicationDbContext context)
        {
            _context = context;
        }
        // GET: SubCategories
        public async Task<IActionResult> Index()
        {
            return View(await _context.SubCategory.ToListAsync());
        }

应该用于查看类别名称代码

@foreach (var item in Model) {
        <tr>
            <td>
                @Html.displayFor(modelItem => item.SCat_Name)
                @Html.displayFor(modelItem => item.Category.Cat_Name)

            </td>

因此,我试图使此部分@Html.displayFor(modelItem => item.Category.Cat_Name)显示类别名称。现在我什么也没得到。 哦,这是数据库记录。

enter image description here

解决方法

必须对此进行更改:

        public async Task<IActionResult> Index()
        {
            return View(await _context.SubCategory.ToListAsync());
        }

对此:

public async Task<IActionResult> Index()
        {
            return View(await _context.SubCategory.Include(u => u.Category).ToListAsync());
        }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。