Response.redirect не работает с элементами управления Ajax - PullRequest
0 голосов
/ 01 августа 2009

У меня есть страница с несколькими пользовательскими элементами управления, которые используют Ajax. Когда я пытаюсь сделать response.redirect с этой страницы, Ajax перехватывает вызов и не разрешает перенаправление.

Как я могу сделать response.redirect со страницы Ajax?

Спасибо ...

Ответы [ 2 ]

0 голосов
/ 01 августа 2009

, как я сказал в другом вопросе:

добавьте это в свой web.config

<httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
0 голосов
/ 01 августа 2009

Какой контроль над действиями AJAX вы имеете в пользовательских элементах управления? Если вы можете изменить клиентскую часть, проще всего вернуть JSON-объект, который вы можете проанализировать, и отправить URL-адрес, на который вы хотите перенаправить данные, в виде данных. Как только вы получите данные на клиенте, просто установите window.location.href в URL.

С jQuery это будет выглядеть примерно так:

$.ajax({
   url: '/some/url',
   dataType: 'json',
   type: 'post',
   data: $('form').serialize(),
   success: function(data) {
       if (data.Redirect) {
          window.location.href = data.Redirect;
       }
       else {
         ...handle other responses...
       }
   }
   ... more options...
});
...