У меня есть веб-страница ASP .Net, которая заполняет DropDownList из кода позади. Значение DropDownList представляет собой значение xml. Он работает в Firefox и Chrome, но IE (IE11) теряет значение, его просто пустое, но только для DropDownList. Другие значения (текстовые поля) просто прекрасны.Internet Explorer теряет значение обратной передачи
В чем разница между обработкой обратной обработки в Firefox, Chrome и IE?
Я заменил каждый символ в строке xml на X, и он работает, IE возвращает значение DropDownList «xxxxxxxxxxx ...». Я заменил строку xml на «<>?!/& $ '\"() {} [] ", чтобы узнать, создает ли какой-то особый символ, но даже работает. Поэтому я пробовал этот метод:
System.Security.SecurityElement.Escape();
Но даже с этим, значение постбэк пуст.
в источнике HTML в Internet Explorer можно увидеть все значения, строка XML, закодированную строку XML, то «XXXXXXXXX ...» и т.д. Таким образом, IE принимает значение и помещает его в DropDownList, но если вы выберете строку xml (или закодированную строку xml) и сделаете обратную передачу, значение DropDownList будет пустым ...
набор AutoPostBack = "истинный" – shreesha
почему? Он работает в Firefox и Chrome без AutoPostBack = "true", почему, по вашему мнению, Internet Explorer нуждается в этом? – Tony
Если я устанавливаю AutoPostBack = "true", он обновляет страницу каждый раз, когда я изменяю Selection (это правильно для AutoPostBack), но если я выберу значение, он обновится и не будет выбора. Другие элементы управления, сохраняющие их значения, только DropDownList с строкой xml как значением не поддерживают значение ТОЛЬКО в Internet Explorer. – Tony