Дважды постбэк в ASP.NET - PullRequest
1 голос
/ 26 июня 2009

Моя страница полностью пересылается дважды. Я использую главную страницу с AJAX. Структура главной страницы выглядит следующим образом.

+---------------------------------------------+

|  Web User Control with AJAX Tab Control     |

+---------------------------------------------+

|        |                     |              |

| Col1   | ContentPlaceHolder  |   Col3       |

|        |                     |              |

|        |                     |              |

+---------------------------------------------+

Пользовательский веб-элемент управления содержит контейнер вкладок AJAX с включенным автопостбэком.

Я создал несколько страниц ASPX, используя эту мастер-страницу.

Заполнитель содержимого также получает пользовательский веб-контроль в зависимости от страницы.

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

Пожалуйста, посетите - http://softwaregenius.net/ivnew4, чтобы получить представление. Я не могу дать логин.

Ответы [ 7 ]

4 голосов
/ 24 июля 2009

Когда директива Page autoeventwireup имеет значение true и вы присоединяете событие OnInit к таким вещам, как Page_Load, эти события будут вызваны дважды, что будет выглядеть как двойной постбэк. Это может быть что-то еще.

1 голос
/ 16 сентября 2009

Я был в точном положении и некоторое время испытывал разочарование.Думаю, кто-то еще может найти это полезным.На моей странице было много пользовательских вызовов ajax (не панели обновления), и когда отправлять обратно для сохранения (реализация стиля запроса [".."] не стиль control.value - потому что элементы управления создавались динамически через Ajax), обратная передача происходила дважды,Существует 2 решения, и оба они просты:

  1. Установите для AutoEventWireup значение false (это также отключит некоторые пользовательские элементы управления, которые были связаны, например, с сеткой данных с привязкой к данным, как в моем случае)
  2. длятем, кому требовалось, чтобы значение AutoEventWireup было истинным, просто убедитесь, что все элементы управления и кнопки обратной передачи не являются серверным элементом управления, вместо этого они должны быть стандартными тегами HTML и НЕ должны иметь runat = "server".

Вот и все!

1 голос
/ 24 июля 2009

Есть ли на странице код, который заставляет вас отправлять сообщения дважды.
Попробуйте использовать метод if (! Page.ispostback) {}
Я думаю, что это не из-за AJAX.

1 голос
/ 24 июля 2009

Двойные посты для меня, как правило, пропускают ресурсы или теги изображений без src - Е.Г.

<img src=""/>
1 голос
/ 26 июня 2009

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

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

0 голосов
/ 03 апреля 2014

попробуйте это решение, вам нужно только скопировать вставить JS после вашего менеджера скриптов

https://stackoverflow.com/a/22822756/1106625

0 голосов
/ 08 сентября 2011

У нас была та же проблема, это вызвано вкладкой <img> нашей <asp:Image> без "src =" Этот факт справедлив для Chrome или IE8 или выше.

[Nos tivemos o mesmo problema e ele é causado pela falta dos src nos controles <img> e <asp:Imagem> . Isso ocrre apenas nos chrome ou no ie8 acima]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...