Здесь происходит нечто странное. В настоящее время у меня есть выпадающий список drpIntervention
, который имеет autopostback = "true", и до сих пор я вызывал код сервера, чтобы отключить / включить элементы управления в зависимости от выбранного значения. Мне не нравится мерцание с постбэками, поэтому я пытаюсь обернуть код в UpdatePanel
с помощью AsyncPostBack Trigger, но происходят странные вещи:
Вот как выглядит код для этого обновления:
<asp:UpdatePanel ID="UpdatePanel5" runat ="server" UpdateMode ="Conditional">
<ContentTemplate >
<tr>
<td colspan="3" class="questionFont">
<table style="width:100%; border-collapse:collapse ">
<tr>
<td>
<b>a. What is the Problem?</b>
</td>
<td >
<asp:DropDownList ID="drpCrisisType" runat="server" autopostback="true" Enabled ="false" OnSelectedIndexChanged="drpCrisisType_SelectedIndexChanged ">
</asp:DropDownList>
<span runat="server" style="font-size:12px; font-family :'Times New Roman';" ID="Span16"><i>(Description)</i></span>
</td>
</tr>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="drpIntervention" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
и это код для кнопки, которая должна вызывать событие, которое находится за пределами панели обновления
<tr>
<td class="questionFont" style="padding-top: 20px">
<b>4. Did you engage in any?</b>
</td>
<td style="padding-top: 20px">
<asp:DropDownList ID="drpIntervention" runat="server" autopostback="true" OnSelectedIndexChanged="drpIntervention_SelectedIndexChanged ">
</asp:DropDownList>
</td>
</tr>
Так что это не весь мой код, <tr>
относится к таблице, над которой гораздо больше, эта панель обновлений и раскрывающийся список являются лишь частью этого. Происходит следующее: я загружаю страницу в браузер, и все выглядит хорошо, затем я выбираю значение в drpIntervention
, и содержимое (другие выпадающие списки и текстовые поля, в которых есть код сервера для включения / отключения), перенесенное на панель обновлений, перемещается. выше другого контента на странице. Еще более странным является то, что перемещаемый контент работает правильно без выполнения операции postback
, однако контент также находится на своем первоначальном месте и не работает там.
Надеюсь, у меня есть смысл, контент на панели обновлений находится буквально в 2 местах на странице, как только я выберу значение из drpIntervention
. Разум взорван!