मैं कोडबेहिंड से एक jQuery UI संवाद दिखाना चाहता हूं और पोस्टबैक के बाद इसे रीफ्रेश करने की आवश्यकता है।jQuery संवाद-पोस्टबैक लेकिन अपडेट पैनेल अपडेट नहीं किया गया
संवाद फ़िल्टर करने और डेटा खोजने के लिए एक नियंत्रण है। तो उपयोगकर्ता DropDownLists से चयन करता है और टेक्स्टबॉक्स में टेक्स्ट दर्ज करता है, एक "लागू-बटन" पर क्लिक करता है, एक एसिंक्रोनस पोस्टबैक होता है, डेटा उपयोगकर्ता के चयन के अनुसार फ़िल्टर हो जाता है और परिणाम ग्रिड व्यू में दिखाया जाएगा। इसलिए मुझे 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"));
-Solution)
समस्या: मैं अद्यतन नहीं कर सकते UpdatePodeel न तो UpdateMode = "हमेशा" और मैन्युअल के साथ UpdatePanel.Update() के माध्यम से codebehind से ly। मुझे लगता है कि यह संवाद के साथ कुछ है जो 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) {
}
});
}
यह codebehind से कहा जाता हो जाता है जब 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
मुझे यकीन है कि दोनों मुद्दे संबंधित हैं। इसके सभी नियंत्रणों के साथ पूरा संवाद प्रत्येक एसिंक्रोनस पोस्टबैक में पुनर्निर्मित किया जाएगा, इसलिए सभी नियंत्रण नाम डीओएम में कई बार मौजूद हैं (व्यूस्टेट कॉमा-एपेंडिंग समस्या उत्पन्न करना)। नियंत्रण केवल फ़ायरबग/आईई डेवपर टूलबार में दिखाई देता है और HTML-स्रोत में नहीं, इसलिए मुझे लगता है कि jQuery इन समस्याओं का कारण बनता है। मैं कैसे डायलॉग कर सकता हूं डायलॉग या मैं कैसे मनोरंजन कर सकता हूं (जांचें कि पहले से मौजूद है) संवाद? क्या ऐसा इसलिए है क्योंकि संवाद एक अद्यतन पैनेल के अंदर है या क्योंकि यह UpdatePanel के बाहर (जावास्क्रिप्ट के माध्यम से) स्थानांतरित हो गया है?
async पोस्टबैक से पहले संवाद को नष्ट समस्या का समाधान नहीं करता है क्योंकि संवाद बस गायब हो जाएगा:
<asp:Button ID="BtnApplyFilter" OnClientClick="$('#Dialog_ChargeFilter').dialog('destroy');" ... />
आपका मदद बहुत सराहना कर रहा है।
समाधान: मैं AjaxControlToolkit से ModalPopupExtender उपयोग करने के साथ समाप्त हो गया। कुछ छोटे मुद्दों के बाद यह एसिंक्रोनस पोस्टबैक के साथ एक आकर्षण की तरह काम कर रहा है (यदि आप पॉपअप को दिखाना चाहते हैं तो प्रत्येक कोड-बैक फ़ंक्शन में MPE.Show()
पर कॉल करना न भूलें)। अगर कोई दिलचस्पी लेता है तो मैं और कोड जोड़ सकता हूं।
हैलो टिम। मेरी भी यही समस्या है। मुझे आश्चर्य है कि क्या आपको अंततः इसके लिए एक संभावित समाधान मिला। मैंने पूरे ऐप में jquery संवाद लागू किया है, लेकिन मुझे इस संवाद में से 1 में 2 ड्रॉपडाउनलिस्ट के बीच बाध्यकारी करने की आवश्यकता है। इसलिए, मैं अंतिम विकल्प के रूप में ModalPopUpExtender में बदल जाऊंगा। कृपया, मेरे प्रश्न पर एक नज़र डालें: http://stackoverflow.com/questions/8082921/dropdownlist- चयनित- इंडेक्स-changed-event-inside-jquery-dialog। विनम्र, – aleafonso