Переадресация ответа не может быть вызвана в обратном вызове страницы? - PullRequest
5 голосов
/ 17 июля 2010

Я получаю следующую ошибку, когда некоторое время не работаю в сети

"Response.Redirect.canне вызываться в обратном вызове страницы."

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

Я использую элементы управления devexpress. Как я могу заставить работать перенаправление?

Ответы [ 7 ]

7 голосов
/ 07 августа 2011

if (Page.IsCallback) ASPxWebControl.RedirectOnCallback ( "~ / Login.aspx");

http://documentation.devexpress.com/#AspNet/DevExpressWebASPxClassesASPxWebControl_RedirectOnCallbacktopic

7 голосов
/ 23 июня 2011

Попробуйте вместо этого использовать свойство Response.RedirectLocation, которое работает во время обратного вызова.

HttpResponse.RedirectLocation Свойство в MSDN

2 голосов
/ 07 декабря 2011

HttpResponse.RedirectLocation Свойство на MSDN работает для меня в той же проблеме

2 голосов
/ 20 июля 2010

Обычно вы можете отключить обратные вызовы для элементов управления devexpress, таких как ASPxGridView, используя свойство «EnableCallbacks». Это, очевидно, заставит элементы управления использовать постбэки, но также позволит Response.Redirect выполнять свою работу.

1 голос
/ 12 ноября 2014

Вы можете использовать:

string TARGET_URL = ...;
if(Page.IsCallback)
    DevExpress.Web.ASPxClasses.ASPxWebControl.RedirectOnCallback(TARGET_URL);
else
    Response.Redirect(TARGET_URL);

См. KA18851 в Devexpress

1 голос
/ 19 июля 2010

Вы не можете заставить перенаправление работать в обратном вызове.Возможно, вместо того, чтобы делать Response.Redirect на сервере, вы могли бы записать какое-то значение в блок <script type="text/javascript"/> и установить window.location.href (redirect) на стороне клиента?

0 голосов
/ 20 июля 2010

Действительно, невозможно использовать Response.Redirect во время обратного вызова. Пожалуйста, обратитесь к следующий пост в блоге на этот счет.

http://community.devexpress.com/blogs/aspnet/archive/2008/08/25/how-to-redirect-to-login-page-after-session-timeout.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...