скрытый ввод и updatePanel (история ASP.NET AJAX) - PullRequest
0 голосов
/ 06 мая 2009

Как обновить вход, скрытый внутри UpdatePanel на AsyncPostBack?

Пользователь нажимает кнопку за пределами панели. Метод, связанный с событием щелчка, обновляет значение ввода (у него есть свойство runat = "server").

Я не могу обновить значение этого входа.

Мне нужно сохранить значение для использования в следующей обратной передаче. Может быть, я могу использовать сессию для хранения этого значения.

Любой совет?

Спасибо!

Ответы [ 4 ]

0 голосов
/ 13 мая 2009

Ни за что. Единственный способ обновить вход - это сделать полный пост. Лучше использовать объект Session.

0 голосов
/ 06 мая 2009

Если вам нужно обновить панель обновлений (и ее содержимое) на основании нажатия пользователем кнопки, которой нет на панели обновлений, добавьте раздел на панель обновлений, как показано ниже:

<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>

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

0 голосов
/ 06 мая 2009

Возможно, вы захотите попробовать <asp:HiddenField> вместо <input type='hidden' runat='server'>. Я думаю, что версия asp.net более осведомлена о постбеке.

0 голосов
/ 06 мая 2009

Поскольку это обратная передача, вам, возможно, придется выполнить проверку в событии обратной передачи и выполнить обновление. Если нет, возможно, вам придется переопределить более раннее событие. Смотри http://msdn.microsoft.com/en-us/library/dct97kc3.aspx

...