2010-07-21 3 views
3

У меня есть кнопка, которая выполняет скрипт с использованием AJAX. Обычно, когда сеанс все еще активен, скрипт возвращает некоторые данные, которые будут помещены на родительскую страницу. Если сеанс истек, AJAX вернет экран входа, который помещается внутри родительской страницы, которая выглядит очень странно.Тайм-аут сеанса и AJAX в ASP.NET

Как я могу определить тайм-аут сеанса и сделать обратную передачу на родительской странице?

ответ

0

Когда вы делаете свой звонок, сначала проверьте, нет ли одного из ваших параметров сеанса Nothing/null. Если это значение равно нулю, ваша сессия, скорее всего, истекло. Если у вас нет каких-либо переменных сеанса, которые вы явно задали, вы можете установить их, когда пользователь входит в систему.

0

Что вы имеете в виду под «если сеанс истек, AJAX вернет экран входа»? Вы контролируете возвращаемое, поэтому вместо того, чтобы возвращать экран входа в систему, возвращайте какой-либо код ошибки или лучше генерируйте исключение, которое вы можете поймать как ошибку на клиенте.

+0

Я использую проверку подлинности. Когда страница пытается загрузить, но сеанс истек, страница перенаправляется на экран входа в систему asp.net. – Arizona1911

2

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

if (xmlhttp.responseText.indexOf("DOCTYPE") != -1) { 
    window.location.href = window.location.href; 
} 
Смежные вопросы