我有兩個更新面板(讓我們稱它們爲A和B)。在A中,我有一個簡單的複選框。 AutoPostback設置爲true。當您檢查它(或取消選中它)時,它將啓用/禁用同一UpdatePanel中的簡單下拉菜單。兩個UpdatePanel並行工作,一個不更新
UpdatePanel B在其中有一個長時間運行的進程。它觸發了創建下拉的請求,這需要將近2分鐘才能完成。如果我加載頁面並且不觸碰任何東西,則大約2分鐘後構建下拉菜單並完美呈現。但是,如果在這兩分鐘內,我決定檢查我的複選框(並導致面板A的部分回發),則updatepanel B永遠不會呈現。在調試時,我發現它正在成功完成檢索,但實際的面板從不刷新以顯示控件。
我已經嘗試使用UpdateMode =有條件的面板B(以確保它不會受到面板A的干擾)並且它會產生相同的結果。我已經驗證了B.Update()也被調用。
編輯
A組:
<asp:UpdatePanel ID="upMailScrub" runat="server">
<ContentTemplate>
<asp:Button ID="btnAnalyzeLaunch" runat="server" onclick="btnAnalyzeLaunch_Click" Text="Analyze Launch" style="display: none" />
<table>
<tr>
<td><asp:CheckBox ID="cbxScrub" runat="server" Checked="true"
oncheckedchanged="cbxScrub_CheckedChanged" AutoPostBack="True" /></td><td><label for="cbxScrub">Scrub this campaign</label></td>
<td style="padding-left: 10px">
Vendor: <asp:DropDownList ID="ddlScrubVendor" runat="server">
<asp:ListItem Text="LexisNexis" Value="LexisNexis" />
</asp:DropDownList>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
B組:
<asp:UpdatePanel ID="upDdlCampaigns" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnAnalyzeLaunch" EventName="Click" />
</Triggers>
<ContentTemplate>
<asp:HiddenField id="hidAction" runat="server" />
<asp:Panel ID="pnlPleaseWait" runat="server"><img src="style/images/PleaseWait.gif" /> Please wait while the Five9 Campaigns are retrieved...</asp:Panel>
<asp:DropDownList ID="ddlCampaigns" Visible="false" runat="server" class="required"
AutoPostBack="True" OnSelectedIndexChanged="ddlCampaigns_SelectedIndexChanged" />
<asp:Button ID="btnRefreshDDL" runat="server" onclick="btnRefreshDDL_Click" style="display: none" />
</ContentTemplate>
</asp:UpdatePanel>
有什麼建議?謝謝。
你可以發佈一些代碼嗎? – Jemes 2011-06-02 13:16:53