Главная страница для обнаружения перенаправления ответа - PullRequest
0 голосов
/ 11 сентября 2010

Я хочу очищать элемент-заполнитель на своей главной странице каждый раз, когда выполняется перенаправление.Как я могу добиться этого в codebehind?

Я мог бы проверить, совпадают ли последний сохраненный URL и текущий URL, но это действительно временное решение, к которому я не хочу идти.* Что-то вроде [if (// Обнаружено перенаправление страницы) {// сделать что-то}

1 Ответ

1 голос
/ 12 сентября 2010

Я бы просто сбросил флаг в сессию, когда вы сделаете редирект.Проверьте флаг на каждой загрузке на главной странице и снимите его, чтобы последующие запросы не обнаруживали его без необходимости.Возможно, вы можете создать вспомогательный класс перенаправления для централизации ответственности за установку флага.

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);
    }
}
...