你不能,这是内部函数调用的一部分,你不能改变它。这是使重定向及其this.Request.Path
参数不包含完整 url 的函数。
internal bool RedirectToErrorPage(string url, CustomErrorsRedirectMode redirectMode)
{
try
{
if (string.IsNullOrEmpty(url))
{
return false;
}
if (this._headersWritten)
{
return false;
}
if (this.Request.QueryString["aspxerrorpath"] != null)
{
return false;
}
if (redirectMode == CustomErrorsRedirectMode.ResponseRewrite)
{
this.Context.Server.Execute(url);
}
else
{
if (url.IndexOf('?') < 0)
{
url = url + "?aspxerrorpath=" + HttpEncoderUtility.UrlEncodeSpaces(this.Request.Path);
}
this.Redirect(url, false);
}
}
catch
{
return false;
}
return true;
}
再说几句。
当您到达该错误页面时,您将失去控制,这意味着您遇到了编程错误或一些未处理的异常。该错误记录在您的 EventViewer 上,但您也可以使用Application_Error
global.asax 上的个人记录它并将其写入您的日志文件。
相对:
如何在 asp.net 应用程序中捕获未处理的异常?
如何在我的 ASP.NET 应用程序中创建一个“一般错误”页面,以便它处理在提供该页面本身时触发的错误?