首页 > 解决方案 > 如何在 ASP.Net Core 的剃须刀页面上连接 ViewData 中的两个数据?

问题描述

我创建了一个 ViewData[] 来填充下拉列表。ViewData[] 中有 3 个字段(Id、Grade 和 ClzName)。我需要将 ID 字段设置为 Id,将 Value 字段设置为下拉列表的 Grade+ClzName。

我尝试如下但失败了。任何人都可以请帮我解决它。

控制器.cs

 private void PopulateSelectClassDDL()
        {
            using (_context)
            {
                List<Class> classList = new List<Class>();
                classList = _context.Classes.ToList();               
                ViewData["classList"] = classList;

            }
        }

视图.cshtml

  @Html.DropDownList("ClzId", new SelectList((System.Collections.IEnumerable)ViewData["classList"],"Id", "Grade" + "ClzName"))

标签: c#asp.net-coreentity-framework-core

解决方案


向模型添加一个属性,返回你想要的并使用它——作者:Sami Kuhmonen

然后我将以下行添加到我的模型中。[NotMapped] 公共字符串 className=> $"{Grade} {ClzName}"


推荐阅读