1

当发生未处理的异常时,我正在尝试设置自定义错误页面(Views/Shared 文件夹中的 Error.vbhtml)。我看到的只是黄色背景上的“加载页面错误”消息。

这些是我到目前为止为实现结果所做的工作:

  1. 我在 web.config 中设置了 customErrors 模式 =“On”
  2. 检查 FilterConfig.vb 中是否存在 filters.Add(New HandleErrorAttribute())
  3. 抛出异常,使用 firebug 的 Net 选项卡查找错误发生的页面,可以看到 HTML 选项卡中有 Error.vbhtml 中的自定义消息。

我假设由于 jQuery mobile 依赖 ajax 进行页面导航,因此错误页面由于某种原因没有显示。如何显示该页面?有什么想法吗?

谢谢你的帮助。

4

1 回答 1

2

通过将以下 javascript 代码添加到 _Layout.vbhtml 中解决了这个问题

     <script type="text/javascript">
          $(document).live("pagechangefailed", function (e, data) {
            //alert("pagechangefailed live");
            var url = '@Url.Action("CustomError", "Account")';
            window.location.href = url;  

          }); 
        </script>

其中 CustomError 是 AccountController 中新创建的操作。

于 2012-11-15T02:24:44.117 回答