如何在MVC5删除帖子中显示错误消息。搜索过,但在“删除”上找不到任何内容

时间:2018-10-26 04:24:43

标签: asp.net-core-mvc

我正试图在尝试删除时捕获记录依赖项错误,以避免灰色死亡。以下有效,但不显示错误。

使用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>      

1 个答案:

答案 0 :(得分:0)

如果添加ModelState,则需要返回视图,而不是重定向。重定向后,ModelState将丢失。

使用return View();

不返回redirectToAction(nameof(Index)); 不返回View(xxxxxxx);