Вопрос

Как обновить вход, скрытый внутри 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 более осведомлена о постбэк.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top