2011-07-12 11 views
6

मैं एक सभ्य लेख या स्निपेट खोजने की कोशिश कर रहा हूं जो बताता है कि जेएस में क्या अंतर है (मान्य & अजाक्स) फ़ाइलें माइक्रोसॉफ्ट में एमवीसी 3 और मैं शामिल हैं कुछ भी खोजने में सक्षम नहीं है।एमवीसी 3 अजाक्स/जेएस फाइलों के त्वरित और गंदे स्पष्टीकरण, कृपया :)

किसी कृपया अन्तर को स्पष्ट करती हैं कि वे किस तरह उपयोग होना चाहिए रहे हैं (उदाहरण के लिए करता है एक पिग्गी-बैक अन्य बंद, एक्स कारण, आदि के लिए बजाय प्रयोग):

  • jquery.validate, jQuery .validate.unobtrusive और MicrosoftMVCValidation
  • jquery.unobtrusive-ajax, MicrosoftAjax & MicrosoftMVCAjax

पर यह करने के लिए जोड़ने के लिए - मूल रूप से कारण है कि मैं बनाम विनीत या MVC मान्यता jquery.validate का प्रयोग करेंगे। या jquery.validate, आदि के संयोजन के साथ उनका उद्देश्य क्या है अजाक्स फ़ाइलों के लिए।

  • (jquery.validate और jquery.validate.unobtrusive) (MicrosoftMVCValidation) बनाम

चुनें:

धन्यवाद अग्रिम में :)

उत्तर

7

यहाँ एक टन मेरी 2 सेंट हैं सबसे पहले यह अविभाज्य अर्थ है कि एचटीएमएल 5 डेटा- * इनपुट फ़ील्ड पर गुण उत्पन्न होते हैं और वैधकर्ता अलग-अलग जावास्क्रिप्ट फ़ाइलों में अविभाज्य रूप से जुड़े होते हैं। माइक्रोसॉफ्ट सत्यापन के साथ आपका अंतिम मार्कअप अब मार्कअप नहीं है लेकिन यह जावास्क्रिप्ट के साथ मिश्रित मार्कअप है। न केवल यह आपके HTML पृष्ठों के आकार को बढ़ाता है बल्कि यह बाहरी स्थैतिक संसाधनों की ब्राउज़र कैशिंग क्षमताओं से लाभ उठाने के लिए उन्हें उलझन और असंभव बनाता है।

प्रोजेक्ट के आधार पर मैं तय करता हूं कि मैं सीधे jQuery.validate प्लगइन का उपयोग करता हूं या स्वत: जेनरेट किए गए HTML5 डेटा- * विशेषताओं से लाभ प्राप्त करता हूं और jquery.validate.unobtrusive स्क्रिप्ट को कुछ डेटा एनाटेशन नियमों के आधार पर स्वचालित क्लाइंट स्क्रिप्ट सत्यापन करता है मेरे विचार मॉडल। खैर, असल में मैं DataAnnotations का उपयोग नहीं करता लेकिन FluentValidation.NET लेकिन यह क्लाइंट पक्ष से कोई फर्क नहीं पड़ता क्योंकि वे दोनों ModelMetaData को उत्सर्जित करते हैं। मुझे सहमत होना चाहिए कि एएसपी.नेट एमवीसी 3 माइक्रोसॉफ्ट ने उन jquery.validate.unobtrusive स्क्रिप्ट के साथ एक कदम आगे बढ़ाया। लेकिन मूल रूप से यह वास्तव में उस परियोजना पर निर्भर करेगा जिस पर मैं काम कर रहा हूं और मुझे जिस नियंत्रण की आवश्यकता है।

  • (jquery.unobtrusive-ajax) बनाम (MicrosoftAjax & MicrosoftMVCAjax) ऊपर :-) मैं शुद्ध jQuery का उपयोग कर आप की सिफारिश करेंगे की

कोई नहीं, लेकिन यदि आप jquery.unobtrusive के बीच लेने के लिए किया था -जैक्स और माइक्रोसॉफ्टएजैक्स पहले के समान कारणों के लिए पहले को चुनते हैं। अब मुझे शायद समझाया जाना चाहिए कि मुझे क्यों पसंद नहीं है। मैंने पहले से ही सभी माइक्रोसॉफ्ट * स्क्रिप्ट्स की पूर्ण क्रोध को इंगित किया है, इसलिए इसे फिर से दोहराना नहीं है। यहां तक ​​कि माइक्रोसॉफ्ट ने भी अपनी गलती को महसूस किया और एएसपी.नेट एमवीसी 3 से शुरू करना jQuery डिफ़ॉल्ट लाइब्रेरी बन गया और उनकी स्क्रिप्ट केवल पुराने अनुप्रयोगों के साथ संगतता के लिए शामिल की गईं जिन्हें आप परिवर्तित कर सकते हैं, लेकिन मुझे लगता है कि भविष्य के संस्करणों में वे पूरी तरह से गायब हो जाएंगे। प्रश्न यह है कि शुद्ध jQuery jQuery.unobtrusive-AJAX की तुलना में क्यों? खैर, पहले के साथ मैं AJAX अनुरोधों की घटनाओं पर अधिक नियंत्रण रखता हूं। उदाहरण के लिए jquery.unobtrusive-AJAX के साथ जब JSON ऑब्जेक्ट ऑनस्यूस कॉलबैक में लौटाए जाते हैं तो उन्हें स्वचालित रूप से जावास्क्रिप्ट ऑब्जेक्ट्स में पार्स नहीं किया जाता है, आपको मैन्युअल रूप से पार्सिंग करना होगा और यह मुझे नट्स चला रहा है।

+0

यह शानदार और बिल्कुल वैसा ही है जो मैं खोज रहा था। :) एक तरफ सवाल ... सत्यापन के साथ, क्या आप अपने पृष्ठ पर दोनों स्क्रिप्ट डालते हैं या सिर्फ एक या दूसरे को चुनते हैं? उदाहरण jquery.validate पर अविभाज्य निर्भर है? – Joshua

+0

@ जोशुआ, हाँ आपको निम्नलिखित 3 स्क्रिप्ट की आवश्यकता है: 'jquery',' jquery.validate' और 'jquery.validate.unobtrusive'। –

+0

धन्यवाद मदद के लिए एक लाख! :) – Joshua

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