Почему мой элемент управления Ajax не имеет правильного значения в моем обработчике событий? - PullRequest
0 голосов
/ 08 апреля 2010

У меня есть RadioButtonList в панели обновлений.

Скажем, я нажимаю вторую кнопку (значение «1»). Он отправляет обратно и отправляет мой обработчик событий -

  • Я могу наблюдать за выходом POST в Firebug, и он явно отправляет правильное значение формы "1"
  • Я могу поймать обработчик событий с точкой останова, проверить Request.Form и ясно увидеть, что входящее значение равно «1»

Однако SelectedValue элемента управления (StatusButtons.SelectedValue) всегда равно «0» (на самом деле, это то, что было, когда изначально загружалась страница - обычно это «0»).

Есть ли другой способ получить значение, выбранное в RadioButtonList?

<asp:UpdatePanel runat="server" UpdateMode="Always">
    <ContentTemplate>
         <asp:RadioButtonList OnSelectedIndexChanged="StatusButtons_OnSelectedIndexChanged" RepeatDirection="Horizontal" AutoPostBack="true" ID="StatusButtons" runat="server">
            <asp:ListItem Value="0">Foo</asp:ListItem>
            <asp:ListItem Value="1">Bar</asp:ListItem>
            <asp:ListItem Value="2">Baz</asp:ListItem>
         </asp:RadioButtonList>       
    </ContentTemplate>
</asp:UpdatePanel>

1 Ответ

0 голосов
/ 29 апреля 2010

Оказывается, я идиот. Я не признаю, что постбэк Ajax проходит весь жизненный цикл страницы. У меня почему-то было в голове, что он запускал только метод обратной передачи, который вызывал.

Конечно, в Page_Load я инициализировал значение этого элемента управления ... поэтому я переинициализировал его при каждой обратной передаче.

Глупо.

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