asp.net - MVC: capture route url's and pass them to javascript function -
संक्षिप्त:
क्या एक मार्ग-परिभाषा है जो पास हो जाएगी वास्तव में नियंत्रक की कार्रवाई के लिए सीधे जाने के लिए जावास्क्रिप्ट फ़ंक्शन में "नियंत्रण / कार्रवाई" स्ट्रिंग मान क्या है?
अधिक:
मेरे पास एक मास्टरपेज है जिसमें साइट का नेविगेशन अब, सभी पृष्ठों को इस नेविगेशन को हर समय उसके चारों ओर लपेटा जाता है, लेकिन क्योंकि मैं नहीं चाहता था कि नेविगेशन लगातार प्रत्येक पेज के साथ लोड हो, मैंने अपने सभी पेजों को आंशिक दृश्य में बदल दिया। इन आंशिक विचारों को JQuery.Load () पद्धति के माध्यम से लोड किया जाता है जब भी नेविगेशन में एक मेनू आइटम पर क्लिक किया जाता है।
यह सब बहुत अच्छा काम किया, क्योंकि अब तक मैंने देखा कि यह वेबसाइट की आवश्यकता भी है सीधे पृष्ठ X पर, फिर डिफ़ॉल्ट.aspx से लिंक करने में सक्षम हो।
उदाहरण के तौर पर:
मुख्य पृष्ठ मेरा "default.aspx" पृष्ठ है , यह मेरे चारों ओर नेविगेशन के साथ मास्टर पेज का उपयोग करता है और एक नया पेज पर प्रत्येक कॉल एक जावास्क्रिप्ट फ़ंक्शन का उपयोग करता है जो उस विशिष्ट डिश के अंदर आंशिक दृश्य को लोड करता है जो मेरे मास्टरपेप में जाना जाता है इसलिए, यूआरएल कभी भी "default.aspx" से अलग नहीं होता है, लेकिन मेरी सामग्री में कोई बदलाव नहीं होता है।
समस्या यह है कि पता बार में सीधे टाइप करते समय उन यूआरएल को भी उपलब्ध होना चाहिए। लेकिन, वे आंशिक दृश्य हैं, इसलिए उन्हें एड्रेस बार से सीधे लोड करने से उन्हें अपने आस-पास किसी भी मास्टरपेज के बिना प्रदर्शित किया जाता है। इसलिए मेरा प्रश्न है कि पता बार में टाइप किए गए मार्ग को कैप्चर करना संभव हो सकता है और उस पर मेरे जावास्क्रिप्ट फ़ंक्शन पर पहुंचा जा सकता है जो कि सामग्री डिवेल में उस मार्ग को लोड करेगा।
(मुझे आशा है कि मैंने इसे समझाया है कि यह पर्याप्त है , यदि नहीं, तो अधिक जानकारी पूछने के लिए बेझिझक)
सबसे पहले चुनौती, जैसा आप लोड करने के लिए AJAX का उपयोग कर रहे हैं आंशिक पृष्ठों को कॉल करने के लिए जावास्क्रिप्ट के लिए क्लाइंट पहुंचाने वाले URL की आवश्यकता होती है। दूसरी चुनौती, आपको यूआरएल की ज़रूरत है जो होमकंट्रोलर लोड करें और यूआरएल के 'पेज' हिस्से को जावास्क्रिप्ट में पास करें।
पहला पहलू के लिए मैं कुछ समतल मार्गों, अर्थात "/ ajaxaccess / नियंत्रक} / {action} / {आईडी} "आंशिक पृष्ठों के लिए यह पहला पंजीकृत मार्ग होगा दूसरा मार्ग किसी भी नियंत्रक / क्रिया संदर्भ को स्वीकार करेगा और होमकंट्रोलर इंडेक्स एक्शन द्वारा हमेशा संसाधित हो जाएगा।
/ होम / इंडेक्स कार्रवाई में आप अनुरोधित यूआरएल को पकड़ लेते हैं और इसे टुकड़ा करते हैं, / {नियंत्रक} / {Action} / ... अनुभाग में और TempData का उपयोग कर अपने default.aspx में पास करें आपके पृष्ठ में TempData के अस्तित्व की जाँच करें और अगर यह मौजूद है तो उसमें मूल्य का उपयोग करें, ताकि आपके एजेएक्स पृष्ठ आंशिक पेज के लिए लोड हो सके (भूल न जाएं कि आपको '/ एजेक्सएक्सेस' (या जो भी आप चुनते हैं) यूआरएल को अपने पेज पर पास करने से पहले।
मैं यहां कोड प्रदान नहीं करने जा रहा हूं क्योंकि मुझे लगता है कि आप अपने द्वारा इस काम के जरिए काम करने वाली जानकारी आगे बढ़ने के लिए अमूल्य होंगे।
Comments
Post a Comment