在一个视图中使用两个模型时出错 - mvc 核心

Error al usar Dos modelos en una vista- mvc core

我有一个 Musico 模型和一个 Commune 模型, 我试着把他们两个都这样.. 我尝试使用 ** Tuple ** 除其他外,但我回到了基础

mi error..

public class ComunaViewModel
  {
    public Comuna ComunaDTO { get; set; }
    public Musico MusicoDTO { get; set; }
  }

音乐

public class Musico
  {
    [Key]
    public int Id { get; set; }
    public string Nombre { get; set; }
    public string Estilos { get; set; }
    public int IdComuna { get; set; }
    public string Email { get; set; } 

科穆纳

public class Comuna
  {
    [Key]
    public int Id { get; set; }
    public string Nombre { get; set; }

--

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

    }

查看

<table class="table">
    <thead>
        <tr>
            <th>
                @Html.DisplayNameFor(model => model.MusicoDTO.Nombre)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.MusicoDTO.Estilos)
            </th>
            <th>
                @Html.DisplayNameFor(model => model.ComunaDTO.Nombre)
----
@foreach (var item in Model) {
        <tr>
            <td>
                @Html.DisplayFor(modelItem => item.MusicoDTO.Nombre)
            </td>
            <td>
                @Html.DisplayFor(modelItem => item.MusicoDTO.Estilos)
             </td>
            <td>
                @Html.DisplayFor(modelItem => item.ComunaDTO.Nombre)

您需要将 List<ComunaViewModel> 而不是 List<Musico> 传递给您的视图。 您可以尝试将 List<Musico> 转换为 List<ComunaViewModel>.

public async Task<IActionResult> Index()
    {
       List<Musico> l = await _context.Musico.ToListAsync();
       List<ComunaViewModel> l1 = new List<ComunaViewModel>();
       foreach (var item in l)
       {
           l1.Add(new ComunaViewModel { MusicoDTO = item });
       }
      return View(l1);

    }