I would simply dump a flag into session when you do a redirect. Check the flag on each load in the master page and clear it so subsequent requests do not unnecessarily detect it. Perhaps you can create a redirection helper class to centralize the flag-setting responsibility.
if (Session["RedirectFlag"] != null && (bool)Session["RedirectFlag"])
{
// clear your placeholder
Session.Remove("RedirectFlag"); // clear the flag
}
..
public static class HttpResponseExtension
{
public static void RedirectWithFlag(this HttpResponse response, string url)
{
response.RedirectWithFlag(url, true);
}
public static void RedirectWithFlag(this HttpResponse response, string url, bool endResponse)
{
System.Web.HttpContext.Current.Session["RedirectFlag"] = true;
response.Redirect(url, endResponse);
}
}