【问题标题】:How to get exception details from MVC3 ajax call如何从 MVC3 ajax 调用中获取异常详细信息
【发布时间】:2011-07-18 07:58:58
【问题描述】:

我使用带有 Razor 和 Ajax.ActionLink/BeginForm 的 ASP.NET MVC 3 来更新部分视图。当出现服务器端异常时,如何在浏览器中获取并显示异常详情?

谢谢

【问题讨论】:

  • 您是否使用 HandleError 在您的应用程序中处理任何异常?否则,如果您要捕获特定异常,则可以在 catch 块中转储 TempData 中的异常详细信息并在重定向页面中访问它。 gregshackles.com/2010/07/…
  • 看起来我不清楚这个问题,但找到了我要找的东西:code function ajaxCallFailed(ajaxContext) { alert(ajaxContext._response._xmlHttpRequest.response); }

标签: asp.net ajax exception-handling asp.net-mvc-3


【解决方案1】:

您需要做 2 件事:首先创建一个过滤器,您将在其中设置 filterContext 中的结果以及您要显示的信息。其次,您将需要一段客户端代码来处理响应。你可以通过 jQuery $.ajaxError 来做到这一点。

您还可以为更复杂的场景创建特定的控制器和视图。此处对此进行了描述:

http://christopheargento.com/2011/08/18/unifier-les-remontees-dexception-ajax-et-non-ajax-en-asp-net-mvc-3/

它是法语的,但有一个演示和可下载的代码。如果您需要更多信息,可以问我。

编辑:文章的英文版终于发布了:http://blog.christopheargento.net/2012/06/14/unify-exception-handling-between-ajax-and-non-ajax-requests-in-asp-net-mvc/

【讨论】:

  • 欢迎来到 Stack Overflow!虽然这在理论上可以回答这个问题,it would be preferable 在此处包含答案的基本部分,并提供链接以供参考。鉴于它是法语的,这对于这个答案尤其重要。
  • 抱歉,我认为即使使用错误的语言,提供的源代码也足以解决问题。
  • 这不是重点。如果您要发布指向外部来源的链接,那么您必须总结文章的内容,解释为什么以及如何解决 OP 遇到的问题。否则,如果网站出现故障,链接就会失效,并且对于该网站未来遇到同样问题的用户毫无用处。否则将需要删除此答案。
  • 好的,我明白了。我用更多信息编辑了答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-25
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 2013-03-31
  • 2018-11-04
  • 2013-02-15
相关资源
最近更新 更多