Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 httpErrors未使用MVC 3重定向到正确页面_Asp.net Mvc 3_Custom Error Pages_Http Error_Custom Errors - Fatal编程技术网

Asp.net mvc 3 httpErrors未使用MVC 3重定向到正确页面

Asp.net mvc 3 httpErrors未使用MVC 3重定向到正确页面,asp.net-mvc-3,custom-error-pages,http-error,custom-errors,Asp.net Mvc 3,Custom Error Pages,Http Error,Custom Errors,我正在尝试在MVC3Web应用程序中设置http自定义错误页。我已将以下内容添加到我的web.config中: <httpErrors errorMode="Custom" defaultResponseMode="ExecuteUrl" defaultPath="/Error/404"> <clear /> <error statusCode="500" path="/Error/404" </httpErrors> 尝试改用web.con

我正在尝试在MVC3Web应用程序中设置http自定义错误页。我已将以下内容添加到我的web.config中:

<httpErrors errorMode="Custom" defaultResponseMode="ExecuteUrl" defaultPath="/Error/404">
  <clear />
  <error statusCode="500" path="/Error/404"
</httpErrors>


尝试改用web.config(在system.web内部)中的customErrors部分

e、 g


尝试改用web.config(在system.web内部)中的customErrors部分

e、 g


它应该类似于
控制器/Action/Id
。在你的情况下,行动缺失。检查以下示例并根据您的操作方法进行更改

<system.web>
    <customErrors mode="On" defaultRedirect="/Error/Index/" >
      <error statusCode="401" redirect="/Error/NoAccess/" />
      <error statusCode="404" redirect="/Error/NotFound/" />
    </customErrors>
    ....
</system.web>

....

它应该类似于
控制器/Action/Id
。在你的情况下,行动缺失。检查以下示例并根据您的操作方法进行更改

<system.web>
    <customErrors mode="On" defaultRedirect="/Error/Index/" >
      <error statusCode="401" redirect="/Error/NoAccess/" />
      <error statusCode="404" redirect="/Error/NotFound/" />
    </customErrors>
    ....
</system.web>

....

很抱歉,我将更新我的问题。它确实适用于customErrors部分,但这不是一个理想的解决方案,因为它们现在是一个遗留选项,专为IIS 6设计。设置defaultResponseMode=“Redirect”和将路径设置为绝对URL有效吗?我知道这并不完全是您想要的,因为使用相对路径更好,但可能有助于调试问题。在这种情况下,我无法设置绝对路径,因为子域可能会发生变化,并且会被用户更改。因此my.domainname.com可以是test.domainname.com等。因此我需要相对路径。抱歉,我将更新我的问题。它确实适用于customErrors部分,但这不是一个理想的解决方案,因为它们现在是一个遗留选项,专为IIS 6设计。设置defaultResponseMode=“Redirect”和将路径设置为绝对URL有效吗?我知道这并不完全是您想要的,因为使用相对路径更好,但可能有助于调试问题。在这种情况下,我无法设置绝对路径,因为子域可能会发生变化,并且会被用户更改。因此my.domainname.com可以是test.domainname.com等。因此我需要相对路径。我的控制器是错误的,我在此控制器上的操作也是错误的,但我已将404映射到此操作。因此,Error/404应该可以工作,如果我直接提出这个请求:my.domainname.com/Error/404,就会显示正确的页面。我还更新了我的问题,指定我不想使用CustomErrors部分作为解决方案。干杯看看这里。它可能会帮助你我的控制器是错误的,我在这个控制器上的操作也是错误的,但我已经将404映射到这个操作。因此,Error/404应该可以工作,如果我直接提出这个请求:my.domainname.com/Error/404,就会显示正确的页面。我还更新了我的问题,指定我不想使用CustomErrors部分作为解决方案。干杯看看这里。这可能对你有帮助