2012-01-16 12 views
5

मैंने एएसपीनेट वेब फ़ॉर्म के साथ बहुत कुछ काम किया है लेकिन यह मेरा पहला एएसपी.NET एमवीसी एप्लीकेशन है। मैं जो करना चाहता हूं वह कुछ नियंत्रण प्रदान करने के लिए एक बच्चे के दृश्य का उपयोग करना है जो पेज के स्वतंत्र रूप से प्रदर्शित और छेड़छाड़ (अपेक्षाकृत) हैं।asp.net mvc बाल क्रियाएं

उदाहरण के लिए

, मैं एक कैलेंडर "गैजेट" घटनाओं की एक सूची शेष पृष्ठ पर हर बार एक तिथि क्लिक किया जाता है प्रदर्शित करने के लिए, प्रसंस्करण की पूरी तरह से स्वतंत्र रूप से सर्वर साइड तर्क का उपयोग करता है का कहना है।

वेब रूपों में मैं केवल एक एएससीएक्स (वेब ​​उपयोगकर्ता नियंत्रण) बना सकता हूं। जब नियंत्रण में एक तिथि क्लिक की जाती है, तो पूरा पृष्ठ वापस पोस्ट किया जाता है लेकिन मैं केवल कैलेंडर नियंत्रण के अंदर क्लिक हैंडलिंग डाल सकता हूं; शेष पृष्ठ कैलेंडर नियंत्रण के पोस्टबैक को संभालने के लिए किसी विशिष्ट तर्क को डाले बिना स्वचालित रूप से गोल-ट्रिप किया जाता है।

MVC के साथ

अगर मैं मार्ग "तिथि क्लिक" एक कैलेंडर नियंत्रक करने के लिए कार्रवाई, इस पेज उस में तो यह केवल कैलेंडर, नहीं शेष पृष्ठ आकर्षित कर सकते हैं एम्बेड किया गया है का ज्ञान नहीं होता। केवल वैकल्पिक हल मैं (अलग ajax से) में सोच सकते हैं, स्वामित्व वाली पेज के नियंत्रक सभी कैलेंडर क्लिक करें क्रियाओं को संचालित और पूरे पृष्ठ

कुछ उम्मीद है कि मैं नहीं छूटा है के लिए दृश्य प्रतिपादन से पहले कैलेंडर नियंत्रक पर उन्हें गुजर है स्पष्ट।

उत्तर

3

आंशिक दृश्य और रेंडरएक्शन देखें।

यहाँ पाने के लिए कुछ यूआरएलों कर रहे हैं आप

http://rachelappel.com/razor/partial-views-in-asp-net-mvc-3-w-the-razor-view-engine/

http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx

http://devlicio.us/blogs/derik_whittaker/archive/2008/11/24/renderpartial-vs-renderaction.aspx

+1

हां, यह। इसके अलावा यदि आपको मास्टर पेज की तरह लेआउट का पुन: उपयोग करने की आवश्यकता है, तो टेम्पलेट बनाने का प्रयास करें, यह अनिवार्य रूप से वही बात है। –

+0

प्रतिक्रिया के लिए धन्यवाद, मैंने यूआरएल को देखा है और थोड़ा और पढ़ा है लेकिन अभी भी मेरे लिए कुछ याद आ रही है। मैं समझता हूं कि प्रारंभ में कैलेंडर नियंत्रण के लिए दृश्य प्रस्तुत करने के लिए आंशिक विचारों और बाल कार्रवाइयों का उपयोग कैसे किया जा सकता है लेकिन क्या होता है जब कैलेंडर में दिनांक क्लिक किया जाता है? यह क्लिक कार्रवाई संभावित रूप से कैलेंडर नियंत्रक को भेजी जानी चाहिए (इसलिए यह उस तारीख पर आइटम पुनर्प्राप्त कर सकती है), लेकिन कैलेंडर नियंत्रक शेष पृष्ठ को प्रस्तुत नहीं कर सकता है? सभी उदाहरण मैं बच्चे के विचारों का देखा है केवल स्थैतिक सामग्री या नेविगेशन लिंक उत्पन्न करते हैं, नहीं "postback" – Andy

+0

आप ajax का उपयोग कर बस पृष्ठ –

-8

आप मुख्य पृष्ठ के भीतर कैलेंडर प्रदर्शित करने के लिए एक iframe इस्तेमाल कर सकते हैं शुरू कर दिया। आपके मुख्य पृष्ठ में यूआरएल http://example.com/main हो सकता है और आईफ्रेम में यूआरएल http://example.com/calendar/today हो सकता है। लिंक पर target विशेषता सेट करके, iframe के अंदर एक लिंक केवल आईफ़्रेम को पुनः लोड कर सकता है, या मुख्य पृष्ठ को पुनः लोड कर सकता है। इसी प्रकार, मुख्य पृष्ठ पर एक लिंक आईफ्रेम को लक्षित कर सकता है।

चूंकि मुख्य पृष्ठ और आईफ्रेम दोनों आपके सर्वर से आ रहे हैं, इसलिए कोई क्रॉस-डोमेन समस्या नहीं होगी, इसलिए आप अपनी इच्छित स्क्रिप्टिंग कर सकते हैं।