2010-07-14 18 views
6

क्या मैं एएसपी.NET वेबफॉर्म अनुप्रयोगों को विकसित करते समय एमएस AJAX का उपयोग कर से बच सकता हूं और इसके बजाय jQuery/jQuery टूल्स का उपयोग कर सकता हूं?एएसपी.NET वेबफॉर्म?

jQuery बहुत स्नैपियर लगता है, बेहतर समुदाय है, बहुत छोटा फ़ाइल आकार (24kb) है। यह एएसपी.नेट एमवीसी विकास के लिए एक स्पष्ट पसंद की तरह लगता है।

लेकिन वेबफॉर्म के बारे में क्या? मैं वास्तव में विजुअल स्टूडियो 2010 के साथ आने वाले AJAX टूल्स का उपयोग नहीं करूंगा। क्या jQuery मुझे उन सभी चीज़ों के साथ प्रदान कर सकता है जो डिफ़ॉल्ट AJAX नियंत्रणों को प्रदान करते हैं?

धन्यवाद!

उत्तर

6

क्या आप वेबफॉर्म के साथ jQuery का उपयोग कर सकते हैं? हां, यह कोई समस्या नहीं है - दिन के अंत में पूरे वेबफॉर्म सेटअप एचटीएमएल वेब पेज उत्पन्न करता है और इसलिए jQuery उन में हेरफेर कर सकता है।

क्या jQuery सबकुछ डिफ़ॉल्ट AJAX नियंत्रण प्रदान कर सकता है - हम्म, हां सिद्धांत में क्योंकि अंततः वे सभी कर रहे हैं ए) डीओएम में हेरफेर करना और बी) सर्वर से बैंड कॉल से बाहर निकलना। प्रैक्टिस में आप कुछ आसानी से उपयोग छोड़ने जा रहे हैं और आपको खुद को और अधिक काम करना होगा।

सबसे बड़ी समस्या - कम से कम .NET 4.0 से पहले चल रहे ऐप्स के साथ - यह है कि सर्वर नियंत्रण के लिए उत्पन्न आईडी, erm, दिलचस्प हैं। यदि आप नियंत्रण आईडी के संदर्भ में jQuery में जो कुछ भी चाहते हैं, उसे कर सकते हैं (यदि आप कक्षाओं का उपयोग कर सकते हैं या नियंत्रण प्रकारों की तलाश कर सकते हैं) तो आप दूर हैं और चल रहे हैं, लेकिन यदि आपको किसी आईडी के बारे में स्पष्ट होना चाहिए तो आपको जोर दिया जाएगा जब तक आप .NET 4.0

पर कोड प्राप्त कर चुके हैं, तो मुझे कोड मिला है जो दो की बिट्स (गतिशील डेटा साइट जो jQueryUI कैलेंडर का उपयोग टूलकिट से काफी बेहतर है) के रूप में और निश्चित रूप से फ़ॉर्म में अधिक jQuery सामग्री का उपयोग करने पर विचार करेगा क्षुधा।

+2

आप सर्वर नियंत्रणों के लिए "समाप्त के साथ" विशेषता चयनकर्ता का उपयोग कर सकते हैं: '$ (" [आईडी $ = myControl] ")' –

+0

नीट, jQuery – Murph

+0

को प्रभावित करना जारी रखता है और वास्तव में मुझे अभी एक बिंदु मिल गया है जहां मुझे आवश्यकता है वास्तव में ऐसा करें, हालांकि उत्तर की खोज नहीं की गई है जो भाग लेने का एक उपयोगी परिणाम है (-: – Murph

3

हां। आप ऐसा कर सकते हैं। लेकिन आपको विभिन्न कार्यक्षमताओं के लिए कई jQuery प्लगइन का उपयोग करने की आवश्यकता है।

हमारी परियोजना (एएसपीनेट वेबफॉर्म) में से एक में, शुरुआत में हम एमएस अजाक्स का उपयोग कर रहे हैं। अब हम धीरे-धीरे सफलता के साथ jquery में जा रहे हैं।

+0

यह सुनना अच्छा है। मेरे पास 2 jQuery प्लगइन्स हैं जो मैं निश्चित रूप से उपयोग कर रहा हूं: चार्टिंग के लिए प्रमाणीकरण और हाईचर्ट्स जेएस के लिए jQuery टूल्स। और फिर भी यह एमएस AJAX में समान नियंत्रण से काफी कम "bloated" है। –

+0

@ रिहाना।वर्षा - अब एक दिन, माइक्रोसॉफ्ट आधिकारिक तौर पर jquery और jquery समुदाय का समर्थन करता है जो एमएस अजाक्स की सभी कार्यक्षमताओं को हल करने के लिए पर्याप्त शक्तिशाली है। – Krunal

3

यह आपके द्वारा आवश्यक विकास मॉडल पर निर्भर करता है। jQuery को संचार के लिए वेब सेवाओं का उपयोग करने की आवश्यकता है, जबकि एमएस AJAX अंतर्निहित पोस्टबैक के साथ काम कर सकते हैं। हालांकि उत्तरार्द्ध तेजी से विकास के लिए आसान है, डेटा संचार के लिए वेब सेवाओं का उपयोग बेहतर अभ्यास है।

अधिकांश एमएस AJAX नियंत्रण विभिन्न jQuery पुस्तकालयों का उपयोग करके नकल किया जा सकता है।

2

संक्षिप्त उत्तर: हां। और जैसा कि लोहे के जवाब का संकेत मिलता है, माइक्रोसॉफ्ट इसका समर्थन करता है।

एकमात्र गोचा यह है कि, जैसा कि आप शायद जानते हैं, वेबफॉर्म के साथ आप नियंत्रित नहीं कर सकते कि आपके नियंत्रण में कौन सा क्लाइंट साइड आईडी प्राप्त होगा, $ ('# id') के माध्यम से चयन करना बोझिल होगा।

मैं आम तौर पर चयन के लिए सीएसएस कक्षाओं का उपयोग करके या कोडबैंड में नियंत्रण की क्लाइंट आईडी गुण प्राप्त करने के साथ इसके आसपास मिलता हूं (उदाहरण के लिए, जब मुझे दोहराने में गतिशील रूप से बनाए गए नियंत्रण को संदर्भित करने की आवश्यकता होती है)।

+3

आईडी चयन '$ (" [id $ = 'YOURID'] ") 'चयनकर्ता का उपयोग करके किया जा सकता है। – Prutswonder

+0

@Prutswonder: अच्छा एक। जब आप इसे कहते हैं तो यह बहुत स्पष्ट है, लेकिन किसी कारण से यह मेरे लिए कभी नहीं हुआ। जब कई नियंत्रण एक ही सर्वर आईडी साझा करते हैं (उदाहरण के लिए पुनरावर्तक या समान के साथ), क्लाइंट आईडी या उदा। एन का चयन: वें बच्चे को अभी भी जरूरी है। – Legogris

+0

पुन: "वेबफॉर्म के साथ आप नियंत्रित नहीं कर सकते कि आपके नियंत्रण वाले क्लाइंट साइड आईडी क्या प्राप्त करेंगे"; क्लाइंट साइड आईडी मान क्लाइंट आईडीमोड = "स्टेटिक" की एएसपी.NET नियंत्रण संपत्ति के साथ एक विशिष्ट मान को परिभाषित किया जा सकता है। ऐसा करने से प्रोग्रामर अद्वितीय आईडी मान निर्दिष्ट करने के लिए ज़िम्मेदार बनाता है। – JohnH

संबंधित मुद्दे