【问题标题】:How to display requested querystrings along with aspxerrorpath如何显示请求的查询字符串以及 aspxerrorpath
【发布时间】:2013-03-17 22:30:05
【问题描述】:

我在 asp.net 和 web.config 中有一个 web 应用程序,它是写的

<customErrors mode="On" defaultRedirect="error.aspx" />

假设我有一个页面abcd.aspx。我已经在浏览器中发送了一个请求abcd.aspx?p1=cvb&amp;p2=dfg

现在如果发生任何错误,它会重定向到error.aspx?aspxerrorpath=abcd.aspx. 但我想通过p1p2 以及。即error.aspx?aspxerrorpath=abcd.aspx&amp;p1=cvb&amp;p2=dfg

我该怎么做?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    你不能,这是内部函数调用的一部分,你不能改变它。这是进行重定向的函数,它的 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 上,但您也可以使用 global.asax 上的 Application_Error 对其进行个人记录并将其写入您的日志文件。

    亲戚:
    How to catch unhandled exceptions in an asp.net application?
    How do I make a "generic error" page in my ASP.NET application so that it handles errors triggered when serving that page itself?

    【讨论】:

      【解决方案2】:

      我建议查看 ELMAH 以获取 asp.net 错误日志记录。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-04-06
        • 2013-09-29
        • 2015-07-17
        • 2018-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-19
        相关资源
        最近更新 更多