我正试图在尝试删除时捕获记录依赖项错误,以避免灰色死亡。以下有效,但不显示错误。
使用ModelState.AddModelError(string.Empty,“ message”)在“创建帖子”中工作正常,但在“删除帖子”中效果不佳。
任何帮助将不胜感激。
控制器的一部分
// POST: Divisions/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
[DbFunction]
public async Task<IActionResult> DeleteConfirmed(string id)
{
try
{
var division = await _context.Division.FindAsync(id);
_context.Division.Remove(division);
await _context.SaveChangesAsync();
return RedirectToAction(nameof(Index));
}
catch (DbUpdateException)
{
ModelState.AddModelError(string.Empty, "Cannot Delete. Associated Records Exist");
}
return RedirectToAction(nameof(Delete));
}
删除视图的一部分
<form asp-action="Delete">
<div asp-validation-summary="All" class="text-danger"></div>
<input type="hidden" asp-for="Division1" />
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">Back to List</a>
</form>
答案 0 :(得分:0)
如果添加ModelState,则需要返回视图,而不是重定向。重定向后,ModelState将丢失。
使用return View();
不返回redirectToAction(nameof(Index)); 不返回View(xxxxxxx);