2013-03-21 2 views
0

Я использую Javascript на веб-сайте ASP.NET. Я также использую обновленную панель в коде. Я использую скрытое поле, которое присутствует в обновлении.Скрытое значение поля теряется/восстанавливается при обновлении UpdatePanel

Я хочу использовать document.getelementbyID (скрытое поле);

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

+1

Возможно размещать код или получить jsFiddle? – faino

+0

Вы подтвердили, что скрытое поле обновляется на стороне сервера? –

+0

Мой ответ на последнее предложение в этом посте - но я не совсем уверен, что слова, написанные, означают, что я думаю, что они имеют в виду. Введите код и попытайтесь расширить проблему. – 2013-03-21 17:31:16

ответ

0

Моя первая «догадка» заключается в том, что сервер не использует новое значение для обратной передачи. При каждом возврате все содержимое обновленных обновлений обновляется - сюда входит вышеупомянутое скрытое поле.

Проверьте сетевые запросы в Firebug (или эквивалент) и/или присоедините отладчик к процессу ASP.NET. Первый шаг - точно определить, где /, когда значение не соответствует ожидаемому/желаемому.

Различные каркасы (например, DevExpress, возможно, Telerik) предоставляют настраиваемые скрытые элементы управления полем, которые достаточно умны, чтобы сохранять свои данные через обратные передачи. Такой контроль является относительно тривиальным для создания или эмулирования.

Один быстрый хак сохраняться скрытое поле через асинхронными постбэков, чтобы переместить его вне любого UpdatePanel .. YMMV.

0

Вы должны использовать ClientID property потому, что элемент управления содержат RUNAT = «сервер»

0

Попробуйте следующее:

window.onload = function() { 
    document.getElementById("myButton").onclick = function() { 
     var hiddenField = document.getElementById('<%=HiddenField1.ClientID %>'); 
     alert(hiddenField.value); 
    } 
} 

С таким небольшим количеством кода с вашей стороны, и никакой ошибки, трудно не сказать, что на самом деле происходит, может быть много чего не так. Вы должны убедиться, что используете document.getElementById после загрузки страницы и т. Д.

0

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

Надеемся, что это может исправить ошибку, если и все это связано с ним ..

Смежные вопросы