Я продолжаю получать проблемы при попытке загрузить частичное представление, которое содержит список элементов, загруженных из базы данных. Я сделал пример, чтобы проиллюстрировать мою проблему:
У меня есть класс «Продукт», для которого я создал представление «Индекс», в котором отображается список продуктов. Я хотел бы загрузить это представление в другое представление («Домашняя страница»). Я использовал тег <Partial name="~/Views/Product/Index.cshtml"/>
. Я думал, что должен был добавить for="Product"
или даже model="Product"
, но я продолжаю получать сообщение об ошибке (красное фигурное подчеркивание) с ошибкой: An expression tree may not contain a dynamic operation
.
Есть ли разрешение или я должен использовать вместо него старый
ДОМАШНЯЯ СТРАНИЦА
@using PartialViewAlts.Models;
<div class="row">
<div class="col-md-12 text-center">
<h2>Partial View Tester</h2>
</div>
</div>
<div class="row">
<div>
<h2>Tag Helper Partial method</h2>
<partial name="~/Views/Product/Index.cshtml" for="Product"/> //produces an error
</div>
</div>
СТРАНИЦА ИНДЕКСА ПРОДУКТОВ
@model IEnumerable<PartialViewAlts.Models.ToDoItem>
<h2>Partial view list of products</h2>
<table class="table">
<thead>
<tr>
<th>@Html.DisplayNameFor(model => model.Name)</th>
<th>@Html.DisplayNameFor(model => model.Priority)</th>
<th>@Html.DisplayNameFor(model => model.IsDone)</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>@Html.DisplayFor(modelItem => item.Name)</td>
<td>@Html.DisplayFor(modelItem => item.Priority)</td>
<td>@Html.DisplayFor(modelItem => item.IsDone)</td>
</tr>
}
</tbody>
</table>
РЕДАКТИРОВАТЬ: код Home Controller был добавлен
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using PartialViewAlts.Data;
using PartialViewAlts.Models;
namespace PartialViewAlts.Controllers
{
public class HomeController : Controller
{
public IActionResult Index()
{
return View();
}
}
}