ASP.NET AJAX postback and jQuery -
मेरे पास UpdatePanel के अंदर एक टेक्स्टबॉक्स, एक लिंकबटन और एक रेडियोबटन लिस्ट है। जब बटन क्लिक किया जाता है, तो UpdatePanel रैडबॉटटन सूची में मेल खाने वाले आइटम को दिखाता है।
यह ठीक काम करता है, लेकिन अब मुझे TextBox पर OnKeyDown होने पर ऐसा करने की आवश्यकता है मैं सभी AJAX अनुरोधों को प्रगति में रद्द करने की कोशिश कर रहा हूं लेकिन अधिक भाग्य नहीं है I सबसे पहले, हर कुंजीपटल पर UpdatePanel वापस पोस्ट करता है, इसलिए एक बार में केवल एक अक्षर बदला जा सकता है दूसरे, पाठ बॉक्स पोस्टबैक पर ध्यान केंद्रित कर देता है।
मुझे सूची को सामान्य रूप में दिखाने की आवश्यकता है, लेकिन ओकेडेउन के साथ-साथ जब बटन दबाया जाता है। यह मेरे पास है (नियंत्रण ID छोटा)
$ ('# textboxId')। Live ('keydown', फ़ंक्शन (e) {if ((e.keycode & gt; = 47 & amp; ; & Amp; e.keyCode & lt; = 90) || e.keyCode == 13) {Sys.WebForms.PageRequestManager.getInstance ()। AbortPostBack (); $ ('# buttonId') क्लिक करें (); $ (' #textBoxId ')। फ़ोकस ();}});
किसी भी अंतर्दृष्टि के लिए धन्यवाद।
पहला कदम शायद होगा UpdatePanel (और उपयोग) के बाहर पाठ बॉक्स को स्थानांतरित करने के लिए, जो फ़ोकस की समस्या को हल करना चाहिए।
प्रत्येक कुंजीपटल पर पोस्टबैक की समस्या को हल करने के लिए, मैंने पहले जो किया है, वह टाइमर को ट्रिगर करता है प्रत्येक परिवर्तन के बजाय प्रत्येक एक्स मिलीसेकंड में परिवर्तन के लिए नियंत्रण की जांच करें। प्रक्रिया प्रवाह इस तरह से कुछ दिखाई देगा:
- टेक्स्ट बॉक्स का ऑनचेन ईवेंट ट्रिगर किया गया है
- अपडेट पैनल को अपडेट किया गया है
- टेक्स्ट बॉक्स का ऑनेंज ईवेंट साफ़ कर दिया गया है, टाइमर सेट है X मिलिसेकंड में मान परिवर्तन की जांच करने के लिए
- यदि मूल्य फिर से बदलता है, तो UpdatePanel अपडेट हो जाता है, एक्स मिलसेकंड में फिर से जांचने के लिए टाइमर रीसेट है
- यदि मूल्य में परिवर्तन नहीं हुआ है, तो पाठ बॉक्स का बदलना ईवेंट है चरण # 1 पर वापस जाने के लिए रीसेट करें
इस तरह से आपका नियंत्रण अधिक है कि पैनल कितनी बार अपडेट हो जाता है।
Comments
Post a Comment