c# – ASP.NET MVC – 全局错误处理方法?
我想知道什么是全局错误的最佳实现(不一定是错误,也可以是成功消息)处理程序会是什么?让我通过一个例子为你分解:
>用户尝试删除记录 我只是好奇你们的想法.我一直在考虑TempData,ViewData和Session,但它们各有利弊. TIA! 更新: 我将举例说明我的意思,也许我不够清楚. public ActionResult DeleteRecord(Record recordToDelete) { // If user succeeds deleting the record if (_service.DeleteRecord(recordToDelete) { // Add success message MessageHandler.AddMessage(Status.SUCCESS,"A message to user"); // And redirect to list view return RedirectToAction("RecordsList"); } else { // Else return records details view return View("RecordDetails",recordToDelete); } } 在“RecordsList”视图中,在HtmlHelper中显示所有消息(包括错误和成功消息)会很酷. <%= Html.RenderAllMessages %> 这可以通过多种方式实现,我只是好奇你们会做什么. 更新2: 我创建了一个自定义错误(消息)处理程序.如果向下滚动,可以看到代码. 解决方法
我对这些步骤感到困惑:
>删除失败并记录错误 发生错误时,为什么要重定向用户?这没有任何意义,除非我误解了一些东西. 通常,我遵循以下准则: >表单提交出错(例如HTTP POST):检查ModelState.IsValid并返回相同的View并使用@ Html.ValidationSummary()呈现错误> AJAX调用出错:返回JsonResult(如@Tomas所说),并使用基本的客户端脚本来检查JSON并显示结果>域/业务出错:抛出自定义异常并让控制器捕获它们并如上所述添加到ModelState (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |