Я пытаюсь передать некоторые данные в свой макет, но не могу заставить его работать.Я успешно сделал это раньше, но на этот раз, независимо от того, что я пытаюсь, это просто не работает.
Я получаю эту ошибку:
InvalidOperationException: модельЭлемент, передаваемый в ViewDataDictionary, имеет тип 'System.Collections.Generic.List`1 [DOOR.Core.Web.Models.DataTaxonomy.Object]', но для этого экземпляра ViewDataDictionary требуется элемент модели типа 'DOOR.Core.Web.Pages.DataTaxonomyTool.IndexModel '.
Кто-нибудь сталкивался с чем-то похожим в прошлом?
My Default.cshtml:
@model DOOR.Core.Web.Pages.DataTaxonomyTool.IndexModel
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
Layout = "~/Pages/DataTaxonomyTool/Layout/LayoutTaxonomy.cshtml";
}
@for (char c = 'A'; c <= 'Z'; c++)
{
<ul style="list-style:none">
<li class="nav-item">
<a class="nav-link" data-toggle="collapse" data-target="#@c.ToString().ToLower()">@c</a>
<div id="@c.ToString().ToLower()" class="collapse">
@foreach (var item in Model.Object.OrderBy(x => x.ObjectName))
{
@if (item.ObjectName.StartsWith(c.ToString().ToLower()))
{
<ul style="list-style:none">
<li>@item.ObjectName</li>
</ul>
}
}
</div>
</li>
</ul>
}
My ViewComponent Class:
public class LayoutListsViewComponent : ViewComponent
{
DOOR.Core.Web.Models.ReportContext _context;
public LayoutListsViewComponent(DOOR.Core.Web.Models.ReportContext context)
{
_context = context;
}
public IList<Object> objects { get; set; }
public async Task<IViewComponentResult> InvokeAsync()
{
var objects = await _context.objects.ToListAsync();
return View(objects);
}
}
Страница моего макета:
addTagHelper*,DOOR.Core.Web
<!DOCTYPE html>
<html>
...
<vc:layout-lists></vc:layout-lists>
...