我正在尝试在我的 asp.net 项目中创建自定义页面。我为 404 未找到错误创建了一个页面。这是 Web 配置的一部分:
<customErrors mode="On" defaultRedirect="Errors.aspx">
<error statusCode="404" redirect="404.aspx"/>
</customErrors>
当我写到像"(websitename)/asdfasdf.aspx"这样的Web浏览器时,我可以看到我创建的自定义错误页面,但是当我写"(websitename)/asdfasdf"时,我看到"服务器错误/404 - 找不到文件或目录"页面(默认错误页面)。
您知道如何将所有页面扩展重定向到我的自定义错误页面吗?
在 global.asax 文件中的Application_Error中,找到服务器错误代码并根据错误代码重定向到相应的页面:
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if (httpException != null)
{
string redirectToPage;
switch (httpException.GetHttpCode())
{
// page not found
case 404:
redirectToPage = "(websitename)/PageNotFoundError.aspx";
break;
default:
redirectToPage = "(websitename)/GeneralError.aspx";
break;
}
Response.Redirect(redirectToPage);
}
}
我找到了解决方案。我正在使用托管到我的网站,因此在托管中有一个设置来设置 404 未找到页面。所以,它解决了。