我想從Codebehind中顯示一個jQuery UI對話框,並且需要在回發後刷新它。jQuery對話框 - 回發但UpdatePanel沒有得到更新
該對話框是用於過濾和查找數據的控件。因此,用戶從DropDownLists中選擇並在文本框中輸入文本,單擊「應用按鈕」,發生異步回發,根據用戶的選擇過濾數據,結果將顯示在GridView中。因此我需要更新GridView周圍的UpdatePanel。
的異步回有幫助的工作從這些鏈接:
- jQuery UI Dialog with ASP.NET button postback
- http://blog.roonga.com.au/2009/07/using-jquery-ui-dialog-with-aspnet-and.html
(基本上dlg.parent().appendTo(jQuery("form:first"));
溶液)
問題:我無法更新UpdatePanel既沒有UpdateMode =「Always」也沒有手動從代碼隱藏通過UpdatePanel.Update()。我認爲這與Dialog不在UpdatePanel內部或類似的地方有關。希望有人能幫助我。
一些來源:
function createChargeFilterDialog() {
//setup dialog
$('#Dialog_ChargeFilter').dialog({
modal: true,
resizable: false,
autoOpen: false,
draggable: true,
hide: "Drop",
width: 850,
height: 600,
position: "center",
title: "Charge-Filter",
buttons: {
"Close": function() {
$(this).dialog("close");
}
},
open: function (type, data) {
$(this).parent().appendTo(jQuery("form:first"))
},
close: function (type, data) {
}
});
}
它從代碼隱藏調用時BtnShowDialog(外面的jQuery的對話框)通過
AjaxControlToolkit.ToolkitScriptManager.RegisterStartupScript _
(Me.Page, GetType(Page), "showChargeFilterDialog", "createChargeFilterDialog();$('#Dialog_ChargeFilter').dialog('open');", True)
更新被點擊:我也注意到一個問題,回傳值。所有文本框如果爲空或沒有附加逗號。這表示控件根據以下方式呈現多次:http://www.componentart.com/community/forums/t/60999.aspx
我確定這兩個問題都是相關的。整個對話框及其所有控件將在每個異步回發中重新創建,因此所有控件名稱在DOM中存在多次(導致ViewState逗號附加問題)。這些控件僅在FireBug/IE Deveoper Toolbar中可見,而不是在HTML源中,因此我認爲jQuery會導致這些問題。我如何處置對話框或我如何阻止娛樂(檢查是否已存在)的對話框?這是因爲對話框是在UpdatePanel中還是因爲它在UpdatePanel之外移動(通過Javascript)?
銷燬異步回發之前該對話框並不能解決問題,因爲對話框將完全消失:
<asp:Button ID="BtnApplyFilter" OnClientClick="$('#Dialog_ChargeFilter').dialog('destroy');" ... />
你的幫助是極大的讚賞。
解決方案:我用從AjaxControlToolkit的ModalPopupExtender結束。在一些小問題之後,它像異步回發的魅力一樣工作(如果您希望彈出窗口保持可見狀態,請不要忘記在每個代碼隱藏函數中調用MPE.Show()
)。如果有人感興趣,我可以添加更多的代碼。
Hello Tim。我也有同樣的問題。我想知道你是否最終找到了這個潛在的解決方案。我已經在整個應用程序中實現了jquery對話框,但是我需要在這個對話框中的兩個下拉列表之間進行綁定。因此,我將更改爲ModalPopUpExtender作爲最終選項。請看看我的問題:http://stackoverflow.com/questions/8082921/dropdownlist-selected-index-changed-event-inside-jquery-dialog。此致, – aleafonso 2011-11-11 09:07:59