2013-11-28 4 views
1

Я работаю с приложением ASP.NET MVC4, которое загружает много диалогов jQuery с частичными представлениями в div на событиях щелчка. Я столкнулся с проблемой, когда сессия закончилась, страница входа в систему загружается в jQuery Dialog Popup.Завершение диалога JQuery при тайм-ауте сеанса

Есть ли способ закрыть всплывающее окно jQuery Dialog, когда сеанс завершен, чтобы они были возвращены на реальную страницу входа в систему для повторной аутентификации?

Это мой ActionResult

if (Request.IsAuthenticated) 
{ 
    try 
    { 
     // Do something 
    } 
    catch { throw; } 
    finally 
    { 

    } 
} 
else 
{ 
    return RedirectToAction("Index", "Home"); 
} 

ответ

0

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

Если вы используете фреймы, вы можете просто вернуть JS, который добавляет метатег на страницу ...

<script> 
    $(parent.document.getElementsByTagName('head')[0]).append('<meta http-equiv="refresh" content="0">'); 
</script> 

Если вы AJAXing непосредственно в DIV, вы можете просто вернуть мета тег обновления и он должен перезагрузить страницу ...

<meta http-equiv="refresh" content="0"> 
+0

Как я могу вернуть из контроллера actionresult? – Berlin

+0

Понятия не имею, но я предполагаю, что будет довольно много способов. У вас есть Google, но я бы подошел к нему, возможно, даже сделал новое представление для обработки только этого или обернул вид входа в условное выражение переменной в ViewBag. –

Смежные вопросы