首页 > 解决方案 > 无法将 lambda 表达式转换为类型“CancellationToken”,因为它不是委托类型

问题描述

我对 MVC 很陌生,不知道如何解决这个错误。我需要根据通过参数传递的 id 列出项目详细信息。有没有另一种方法来写这个我不会得到标题中的错误?

.ToListAsync(d => d.ItemDetailId == id)

控制器

public async Task<IActionResult> Details(int? id)
        {
            if (id == null)
            {
                return NotFound();            }


            var itemDetail = await _context.ItemDetail
                .Include(i => i.MenuItem)
                .ToListAsync(d => d.ItemDetailId == id);
            if (itemDetail == null)
            {
                return NotFound();
            }

            return View(itemDetail);
        }

接收详细信息操作的视图

@model Farbucks.Models.ItemDetail

@{
    ViewData["Title"] = "Details";
}

<h2>Details</h2>

<div>
    <h4>ItemDetail</h4>
    <hr />
    <dl class="dl-horizontal">
        <dt>
            @Html.DisplayNameFor(model => model.Size)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Size)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.Price)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.Price)
        </dd>
        <dt>
            @Html.DisplayNameFor(model => model.MenuItem)
        </dt>
        <dd>
            @Html.DisplayFor(model => model.MenuItem.Name)
        </dd>
    </dl>
</div>


<div>
    <a asp-controller="MenuItems" asp-action="Index">Back to List</a>
</div>

标签: asynchronousmodel-view-controllerparameters

解决方案


推荐阅读