当我使用 jquery 加载 PartialView html 时,使用 0 值 id 参数调用我未调用的控制器

问题描述 投票:0回答:1
c# jquery ajax asp.net-core partial-views
1个回答
0
投票

由于未指定任何值,因此参数

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();
     }
}
© www.soinside.com 2019 - 2024. All rights reserved.