скрытый ввод и updatePanel (история ASP.NET AJAX)
-
06-07-2019 - |
Вопрос
Как обновить вход, скрытый внутри UpdatePanel в AsyncPostBack?
Пользователь нажимает кнопку за пределами панели. Метод, связанный с событием щелчка, обновляет значение ввода (у него есть свойство runat = & Quot; server & Quot;)
Я не могу обновить значение этого ввода.
Мне нужно сохранить значение для использования в следующей обратной передаче. Может быть, я могу использовать сеанс для хранения этого значения.
Любой совет?
Спасибо!
Решение 4
Ни за что. Единственный способ обновить вход - это сделать полный пост. Лучше использовать объект Session.
Другие советы
Поскольку это обратная передача, вам, возможно, придется выполнить проверку в событии обратной передачи и выполнить обновление. Если нет, возможно, вам придется переопределить более раннее событие. См. http://msdn.microsoft.com/en-us/library/dct97kc3 .aspx р>
Если вам нужно обновить панель обновлений (и ее содержимое) на основании нажатия пользователем кнопки, которой нет на панели обновлений, добавьте раздел на панель обновлений, как показано ниже:
<asp:Button ID="btnOK" runat="server"/>
<asp:UpdatePanel ID="pnlMyPanel" runat="server">
<ContentTemplate>
<!-- Content to get updated -->
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnOK" />
</Triggers>
</asp:UpdatePanel>
Раздел триггеров в приведенном выше примере указывает панели обновления обновляться при нажатии кнопки.
Возможно, вы захотите попробовать <asp:HiddenField>
, а не <input type='hidden' runat='server'>
. Я думаю, что версия asp.net более осведомлена о постбэк.