jQuery mobile和mvc4,如何重定向到自定义错误页面替换“错误加载页面”消息

时间:2012-11-14 22:42:13

标签: jquery-mobile asp.net-mvc-4

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

这是我到目前为止所取得的成就:

  1. 我在web.config
  2. 中设置了customErrors mode =“On”
  3. 检查过FilterConfig.vb中是否存在filters.Add(New HandleErrorAttribute())
  4. 抛出异常并使用firebug的Net选项卡显示发生错误的页面,可以看到HTML选项卡在Error.vbhtml中包含自定义消息。
  5. 我假设由于jQuery mobile依赖于ajax进行页面导航,因此出于某种原因不会显示错误页面。如何显示该页面?任何人的想法?

    感谢您的帮助。

1 个答案:

答案 0 :(得分: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中新创建的操作。