0

我有一个如下所示的 URL:/employees?employeeId=3992,它显示 ID 为 3992 的员工。它工作正常,HTTP 状态代码为 200 OK。

但是,当有人在 URL 中写入无效 ID 时,例如:/employees?employeeId=39920,我希望我的 HTTP 处理程序重写错误页面的路径,并发送 HTTP 状态代码 404。

这是我正在使用的代码:

if (employee == null)
{
    context.RewritePath("/error-page");
    context.Response.StatusCode = 404; // if I remove this line, the error-page is displayed, and the StatusCode is 200.
}

当我将 HTTP 状态代码设置为 404 时,页面会显示此标准 ASP.NET 404 错误页面。

在此处输入图像描述

4

1 回答 1

0

也叫

context.Response.TrySkipIisCustomErrors = true;

例如:

if (employee == null)
{
    context.Response.TrySkipIisCustomErrors = true;
    context.RewritePath("/error-page");
    context.Response.StatusCode = 404; 
}
于 2013-02-21T14:47:03.500 回答