asp.net-core-mvc - 如何在 MVC5 删除帖子中显示错误消息。已搜索但在删除上找不到任何内容
问题描述
我试图在尝试删除时捕获记录依赖错误以避免灰色死亡。以下工作但不显示错误。
使用 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>
解决方案
如果添加 ModelState,则需要返回视图,而不是重定向。一旦你重定向,ModelState 就会丢失。
使用返回视图();
不返回 redirectToAction(nameof(Index)); 不返回视图(xxxxxxx);
推荐阅读
- dns - Virtualmin DKIM对所有域都无效(以前用过)
- node.js - 将 browserify 与 node 模块一起使用时出现问题
- spring-boot - 如何使用 Spring Data JPA(Hibernate) 跨映射表过滤关联实体?
- c# - 文件对象创建和修改的属性值与 ListItemCollection 和 FileCollection 不同
- javascript - EditableGeoJsonLayer 获取 TypeError:传播不可迭代实例的无效尝试
- c# - 如何在Task中获取T类型的属性
使用反射? - iis - Kudu 允许 - 每 15 分钟连续停止 webjob
- go - 基于 gRPC 和 Go 的微服务合约测试
- r - 使用drc包,我如何获得40种curveid药物中大于参考药物值的EC50?
- javascript - vue 3组合api路由查询为空