Я думаю, что нашел, что происходит. Я знаю, что обратная передача UpdatePanel похожа на обычную обратную передачу, но только часть страницы отправляется обратно клиенту. Поэтому я немного поиграл и обнаружил, что, как упоминал HalfTrackMindMan, работает должным образом. Затем я спросил Google о распространенных ошибках в UpdatePanels и обнаружил эту статью , в которой объясняется, что происходит не так.
Вот что на самом деле происходит.
- __ doPostback опубликовать значения страницы на сервере
- в параметрах записи значения обоих текстовых полей не заполнены
- На сервере происходит событие Load, и вы изменяете текст текстовых полей
- EventHandlers выполняются, и публикуемые значения устанавливаются в 2 текстовых окнах (они оба сбрасываются в пустые
- ...
- Панель обновления отображается с пустыми значениями
Таким образом, если вы поместите тестирование в одно из текстовых полей и нажмете кнопку, вы увидите, что значение « testing » отправляется на сервер и возвращается.
1|#||4|356|updatePanel|MainContent_WebUserControl11_ctl00_UpdatePanel1|
<p>
Message:<br />
<input name="ctl00$MainContent$WebUserControl11$ctl00$TextBox1" type="text" value="testing" id="MainContent_WebUserControl11_ctl00_TextBox1" />
</p>
Таким образом, чтобы обновить значения элемента ввода на панели обновления, вам нужно сделать это в событии Pre_render. С другой стороны, вы можете обновить метку на on_load, и она будет работать.
Надеюсь, это поможет.