2008-12-03 19 views
9

मैं एएसपी.नेट एमवीपी (पर्यवेक्षी नियंत्रक का प्रयास) और यूनिट परीक्षण (कभी भी देर से बेहतर देर से) के साथ अपना पहला ऐप लिख रहा हूं, और मैंने थोड़ी सी दुविधा में भाग लिया है । मैंने 3 उपयोगकर्ता नियंत्रण लिखा है, सभी परीक्षण और इंटरफेस अप, प्रस्तुतकर्ता टॉव में। अब मैं एक ऐसे पृष्ठ पर आया हूं जो इन तीन उपयोगकर्ता नियंत्रणों को लेता है और निम्न समस्या का सामना करता है:एएसपी.नेट एमवीपी - उपयोगकर्ता नियंत्रण का उपयोग

उपयोगकर्ता नियंत्रण 1 दिनांक चयनकर्ता है, यह कुछ अन्य बटन/सूचियों के साथ कैलेंडर नियंत्रण है। कुछ भी रोमांचक रोमांचक नहीं है।

उपयोगकर्ता नियंत्रण 2 दैनिक सूची है। अनुमान लगाओ कि यह क्या है। वैसे भी, आप आदि का चयन/हटा सकते हैं .. यदि आप ग्रिडव्यू से कोई आइटम चुनते हैं, तो उसे उपयोगकर्ता नियंत्रण 3 को पॉप्युलेट करने की आवश्यकता है।

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

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

जो कुछ भी मैंने अभी तक पढ़ा है, कहता है, "एमवीपी उपयोगकर्ता नियंत्रण के साथ भी महान है", लेकिन उदाहरण के लिए उपयोगकर्ता नियंत्रणों का उपयोग आसानी से भूल जाता है। ऐसा लगता है कि एमवीसी इस पर सोच के अपने पैटर्न से अधिक निकटता से मेल खाएगा, लेकिन वर्तमान में, एमवीसी एक विकल्प नहीं है। कोई मदद यहां महान होगी। अग्रिम में धन्यवाद।

उत्तर

4

पेज प्रेजेंटर को पृष्ठ पर नियंत्रणों के बीच बातचीत को समन्वयित करने वाला एक होना चाहिए। यह और कौन करेगा? मेरे पास पेज प्रस्तुतकर्ता दिनांक चयनकर्ता उपयोगकर्ता नियंत्रण की स्थिति में सुनता होगा। पेज प्रस्तुतकर्ता के परिप्रेक्ष्य से, शायद यह जानने की आवश्यकता नहीं है कि ईवेंट किसने उठाया (देखें या प्रस्तुतकर्ता) क्योंकि यह दिनांक चयनकर्ता को पूरी तरह से encapsulated नियंत्रण के रूप में देखता है। आंतरिक कार्य पृष्ठ के प्रस्तुतकर्ता से छिपा होना चाहिए।

यह सब जानता है कि दिनांक चयनकर्ता उपयोगकर्ता नियंत्रण ने एक ईवेंट उठाया है, और अब इसे पृष्ठ पर अन्य नियंत्रणों को सूचित करने की आवश्यकता है, या तो अपने स्वयं के कार्यक्रम को उठाकर, या प्रस्तुतकर्ता पर स्पष्ट रूप से कॉलिंग विधियों द्वारा।

+0

स्पष्टीकरण के लिए धन्यवाद। मुझे लगता है कि मेरा सच्चा मुद्दा था कि दिनांक चयनकर्ता के लिए इवेंट को परिभाषित करना है। चूंकि मुझे पृष्ठ से ईवेंट तक पहुंचने की आवश्यकता है, इसलिए इसे दृश्य में घोषित करना होगा (लेकिन प्रस्तुतकर्ता से उठाया जा सकता है)। एफवाईआई, आपकी ब्लॉग पोस्ट शुरू करने में मुझे बहुत मदद मिली। धन्यवाद! – jstephenson

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