Функция ASP.NET doPostBack не отображается на странице при использовании Internet Explorer 9 - PullRequest
1 голос
/ 23 марта 2011

В Internet Explorer 9 есть что-то, что препятствует тому, чтобы функциональность doPostBack НЕ отображалась на моих страницах.Если я переключаюсь в режим совместимости, страница корректно перерисовывается и функционирует должным образом.

Я пробовал решение добавить еще один элемент управления, который заставит ASP.Net думать, что мне нужен PostBack, и, следовательно, отрисовыватьконтроль, но это все еще не сделало это.Я добавил еще один элемент управления, требующий обратной передачи (LinkButton, DDL с AutoPostback и т. Д.), Который все еще не отображается на странице.

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

Есть ли какой-нибудь способ предотвратить рендеринг doPostBack на ВСЕХ страницах, и я каким-то образом установил это для IE9?

Ответы [ 3 ]

1 голос
/ 16 мая 2011

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

Добавьте свой собственный __doPostback и, возможно, добавьте следующие строки:

            if (theForm.__EVENTTARGET == null || theForm.__EVENTARGUMENT == null) {
                var lmTarget = document.createElement("INPUT");
                lmTarget.name = "__EVENTTARGET";
                lmTarget.id = "__EVENTTARGET";
                lmTarget.type = "hidden";


                var lmArgument = document.createElement("INPUT");
                lmArgument.name = "__EVENTARGUMENT";
                lmArgument.id = "__EVENTARGUMENT";
                lmArgument.type = "hidden";

                theForm.appendChild(lmTarget);
                theForm.appendChild(lmArgument);
            }
0 голосов
/ 25 марта 2011

На самом деле вам нужны скрытые поля для EVENTTARGET и EVENTARGUMENT, а также.У меня есть обходной путь, но я не знаю, почему IE9 плохо работает с моим сайтом.Что вызвало бы это?Другие функции AutoPostBack также не отображаются правильно.onSelectedIndexChanged не отображается в IE9, и я должен обнаружить его в javascript и подключить таким образом.

0 голосов
/ 24 марта 2011

, если вы хотите собственный постбэк:

function postBackForm(targetElementId) {
var theform = document.forms[0];
theform.__EVENTTARGET.value = targetElementId;
theform.__EVENTARGUMENT.value = "";
theform.submit();

}

...