2014-10-23 3 views
0

Я использую ASP.Net MVC. Я поместил атрибут [Авторизовать] на всех контроллерах, чтобы иметь возможность перенаправлять страницу входа в систему при неудачной аутентификации. Но при обратных вызовах сетки он не заменяет содержимое html содержимым страницы входа, а скорее показывает сообщение с содержимым html-страницы входа в систему.Перенаправление тайм-аута сеанса в Devexpress GridView

Сценарий подробно описан ниже:

  • раз Session из
  • пользователь щелкает на сетке для сортировки/постраничной
  • Сетка идет для обратного вызова
  • Благодаря [Авторизоваться] атрибута указанный, аутентификация завершается с ошибкой и перенаправляется на действие для входа
  • Действие для входа возвращает частичный вид входа
  • Вместо замены содержимого html ответ html отображается в виде сообщения в поле сообщения

Как решить эту проблему, чтобы показать экран входа в систему во время сеанса.

Это происходит только на локальной машине.

+0

вы должны написать на заказ attriute и ручка для АЯКС случая, а также: HTTP: //developmentpassion.blogspot.com/2014/08/aspnet-mvc-check-user-is-logged-in-and. HTML –

ответ

1

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

settings.ClientSideEvents.CallbackError = "callbackErrorHandler"; 

и добавил этот метод сценариев Java.

function callbackErrorHandler(s, e) { 
    if (e.message != '') { 
     e.handled = true; 
     e.cancel = true; 
     var url = '@Url.Action("Login", "Home")'; 
     window.location.href = url; 
    }