由于未指定任何值,因此参数
id
将获取默认值为零的整数。尝试使用可空整数int?
。我还没有测试过它,但我相信你的 lambda 中还需要 id.Value
,因为我假设 p.Id
是 int
。
public async Task<IActionResult> Edit(int? id)
{
if(id.HasValue)
{
ViewBag.Categorias = await _context.CategoriasProduto.ToListAsync();
var produto = await _context.Produtos.Where(p => p.Id == id.Value).Include(p => p.Imagens).FirstOrDefaultAsync();
var produtoViewModel = _mapper.Map<ProdutoViewModel>(produto);
return View(produtoViewModel);
}
else
{
return Ok();
}
}