1

我正在尝试做一个错误页面,只要发生错误就会重定向到它。

这是我的代码:

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

现在工作正常我怎样才能在我的错误页面上获得错误消息

示例:错误 - 索引错误

4

2 回答 2

1
protected override void OnError(EventArgs e)
{     
  HttpContext ctx = HttpContext.Current;

  Exception exception = ctx.Server.GetLastError ();

  string errorInfo = 
     "<br>Offending URL: " + ctx.Request.Url.ToString () +
     "<br>Source: " + exception.Source + 
     "<br>Message: " + exception.Message +
     "<br>Stack trace: " + exception.StackTrace;

  ctx.Response.Write (errorInfo);
  ctx.Server.ClearError ();

  base.OnError (e);
}

阅读有关ASP.NET 自定义错误页面的更多信息

于 2013-01-11T16:20:39.343 回答
1

您需要获取最后发生的错误(以编程方式)并将其显示在页面中。您可以这样做(在 Error.aspx 中):

protected void Page_Load(object sender, EventArgs e)
{
     Exception ex = Server.GetLastError();
     lblError.Text= ex.Message;
     Server.ClearError();
}

在您的页面中定义的标签控件在哪里lblError只是为了显示错误消息。

有关更多详细信息,请参见此处

于 2013-01-11T16:16:03.747 回答