Проблемы обратной передачи ASP.NET в IE8 - PullRequest
0 голосов
/ 09 августа 2010

Я работаю локально на сайте ASP.NET и испытываю проблемы с postbacks в IE8.

У меня есть страница с repeater, которая создает таблицу, и в каждой строке есть LinkButton, которая используется для удаления этой строки.

В FireFox и Chrome кнопка работает должным образом - формы отправляются обратно, и все значения из формы доступны для обработки. В IE8 форма отправляет обратно, но коллекция форм пуста, за исключением кнопки, которая инициировала postback.

Это проблема, потому что

  1. это странно и я не понимаю и
  2. Я использую значения из отправленной обратной формы для перестройки некоторых бизнес-объектов (я не храню их в viewstate или session, но перестраиваю их с нуля на основе значений, введенных пользователем в форму). Когда я отправляю обратно из FF/Chrome, там находится полная форма (например, Request.Form.AllKeys имеет, скажем, 60 элементов), и я могу получить значения для моего бизнес-объекта. Когда я отправляю сообщение из IE, моя форма практически пуста, и мой код восстановления не выполняется (например, Request.Form.AllKeys имеет, скажем, только 9 элементов вместо ожидаемых 60).

Я затрудняюсь объяснить, почему существует такое различие в содержании коллекции форм после postback между FF/Chrome и IE, и был бы очень признателен за любую информацию / помощь в этом отношении.

Я пытался разобрать проблему так, как я ее вижу - если потребуется дополнительная информация, пожалуйста, дайте мне знать. Спасибо за вашу помощь.

Ответы [ 3 ]

2 голосов
/ 09 августа 2010

Решено это - оказывается, у меня есть форма, вложенная в основную форму на главной странице.Убрал его и все хорошо.

2 голосов
/ 09 августа 2010

Ваша проблема звучит необычно, и я никогда с этим не сталкивался.Хотя я не могу помочь напрямую, я бы порекомендовал использовать Fiddler - прокси-сервер веб-отладки для проверки HTTP-трафика как средства диагностики происходящего.Процитируем: «Fiddler является бесплатной программой и может отлаживать трафик практически из любого приложения, включая Internet Explorer, Mozilla Firefox, Opera и многие другие ...»

0 голосов
/ 02 августа 2011

У нас была похожая проблема в IE8 в Windows 2008, и решение было связано с повышением прав пользователя.

На Windows 2008 Machine мне нужно было перейти на:

Пуск> Администрирование> Локальная политика безопасности> Локальные политики> Параметр безопасности

затем выберите «Контроль учетных записей: режим одобрения администратором для встроенной учетной записи администратора»

Выберите Включить и затем Применить.

Спасибо Anugrah

...