1

如何处理 400 错误请求,如 mvc 3、iis 6 中的 stackoverflow?

例如:www.stackoverflow.com/a<

返回 404 not found page ,而不是 YSOD 页面

更新:为什么这不起作用?

  <httpErrors errorMode="Detailed">
     <remove statusCode="404" subStatusCode="-1" />
     <error statusCode="404" subStatusCode="-1" path="/notfound" responseMode="ExecuteURL" />
     <error statusCode="400" subStatusCode="-1" path="/Error" responseMode="ExecuteURL" />
  </httpErrors>
4

1 回答 1

1

使用 web.config 的 customErrors 标签:

<customErrors mode="On" defaultRedirect="UrlToRedirect" >
  <error statusCode="400" redirect="UrlToRedirect"/>
</customErrors>

例如。:

<customErrors mode="On" defaultRedirect="~/Error/Index">
  <error statusCode="400" redirect="~/Error/Index"/>
</customErrors>

if UrlToRedirect = "~/Error/Index", 这里,在这个 url 中,"Error" 是控制器的名称,"Index" 是返回错误视图页面的 Action 方法的名称。

public class ErrorController : Controller
    {
        public ActionResult Index()
        {
            return View("Error");
        }
    }

在您的应用程序的“\Views\Shared 文件夹”中,您有“Error.cshtml”视图页面。

于 2012-06-04T10:57:00.600 回答