Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将错误消息从一个aspx页面发送到另一个aspx页面?_C#_Asp.net - Fatal编程技术网

C# 如何将错误消息从一个aspx页面发送到另一个aspx页面?

C# 如何将错误消息从一个aspx页面发送到另一个aspx页面?,c#,asp.net,C#,Asp.net,在这种情况下,我更愿意参加会议。然后您可以保留完整的异常,包括stacktrace,以便进一步处理。但是您不能在应用程序错误中直接访问会话。这应该起作用: protected void Application_Error(object sender, EventArgs e) { Exception ex = this.Server.GetLastError(); this.Server.ClearError(); string

在这种情况下,我更愿意参加会议。然后您可以保留完整的异常,包括stacktrace,以便进一步处理。但是您不能在应用程序错误中直接访问会话。这应该起作用:

protected void Application_Error(object sender, EventArgs e)     
{
       Exception ex = this.Server.GetLastError();   
       this.Server.ClearError();    
       string errorMessage = ex.Message;   
       logger.Error(errorMessage, ex);    
       Response.Redirect("~/Error.aspx");
 }
现在,您可以通过以下方式访问Error.aspx中的异常:

private void Application_Error(object sender, EventArgs e)
{
    Exception ex = this.Server.GetLastError();   
    // ...
    HttpApplication application = (HttpApplication)sender;
    HttpContext context = application.Context;
    context.Session["LastError"] = ex;
    Response.Redirect("~/Error.aspx");
}
我认为您可以使用Server.Transferin Global.asax:

在错误页面中,您可以获取内部异常以检查实际发生的异常:

void Application_Error(object sender, EventArgs e)
  {
                    // Code that runs when an unhandled error occurs

                    //direct user to error page 
                    Server.Transfer("~/Error_Pages/ErrorPage500.aspx");
  }

您可以在asp.net中使用会话,这是我能想到的最简单的方法尝试使用查询字符串,传递错误代码。在这种情况下,我更喜欢会话。然后,您可以保留完整的异常,包括stacktrace,以供进一步处理。我想获取错误消息,例如DB connection failed,并希望在常见错误页面上显示它,在该页面上我还可以显示其他错误消息。我是初学者,请您分享任何示例,以便易于理解。是否不需要重定向那一页?我怎样才能在另一个页面上检索消息?@ashT:但我已经重定向了
void Application_Error(object sender, EventArgs e)
  {
                    // Code that runs when an unhandled error occurs

                    //direct user to error page 
                    Server.Transfer("~/Error_Pages/ErrorPage500.aspx");
  }
protected void Page_Load(object sender, EventArgs e)
  {
                LoadError(Server.GetLastError());
  }

protected void LoadError(Exception objError)
  {
                Exception innerException = null;           
                if (objError != null)
                {
                    if (objError.InnerException != null)
                    {
                        innerException = objError.InnerException;
                    }
                }
 }