void Application_Error(object sender, EventArgs e)
{
HttpContext ctx = HttpContext.Current;
Exception exception = ctx.Server.GetLastError();
ctx.Server.ClearError();
ctx.Server.Transfer("Foo.aspx?ERROR" + exception.Message);
}
Этот метод сработает до того, как вы перейдете к Foo.aspx, так что вы можете обнаружить, что вы исходите из ошибки, а не из-за перенаправления. Затем вы можете добавить переменную QueryString к URL, чтобы Foo.aspx мог работать с этими данными.
Не знаю, какова ваша конечная цель, но если вы пытаетесь настроить сообщение об ошибке, появляется исключение, которое вы можете обработать таким образом.