使用aspxerrorpath时自定义错误页面不起作用?

问题描述

我有asp.net mvc应用程序,并且添加一个自定义错误页面。当我添加普通的无效URL时,它可以工作,但是如果URL包含特殊字符(例如'>''

错误从客户端(>)检测到一个潜在危险的Request.Path值。

说明在执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

我已经在webconfig和类似控制器中添加自定义错误页面

<customErrors mode="On" defaultRedirect="~/Error/Index?error=1">
</customErrors>

ErrorController.cs

   public ActionResult Index()
    {
        return View();
    }

当我尝试使用特殊字符的无效URL时,控制器未执行

我在httpRuntime中尝试过 requestPathInvalidCharacters ,但随后它击中了ExceptionFilter,并抛出了类似“未找到视图'a'a'”的错误 网址:http:// localhost / Error / a'a%5c'b%22c%3E%3f%3E%25%7d%7d%25%25%3Ec%3C [[%3f $%7b%7b%25 %7d%7dcake%5c?aspxerrorpath = / a

<httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" />

我也尝试过

 <httpErrors errorMode="Custom">
        <remove statusCode="404" />
        <error statusCode="404" path="/Error/404.htm" 
  responseMode="ExecuteURL" prefixLanguageFilePath="" />
        <remove statusCode="500" />
        <error statusCode="500" path="/Error/500.htm" 
  responseMode="ExecuteURL" prefixLanguageFilePath="" />
    </httpErrors>
当我从网址中删除 aspxerrorpath 时,

自定义错误页面正在工作

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)