2009-04-23 6 views
15

मेरे पास दृढ़ता से टाइप किया गया मास्टर पेज है, लेकिन मैं इसके कुछ बच्चे पृष्ठों के लिए एक अलग प्रकार का उपयोग करना चाहता हूं।एएसपी.नेट एमवीसी - मास्टर पेज के लिए अलग-अलग मॉडल और पेज

उदाहरण के लिए, मास्टर पृष्ठ पर ...

<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %> 

ग्राहक पहले से ही एक समग्र वस्तु है, तो बच्चे को कुछ पृष्ठों पर मैं एक ही मॉडल के लिए रख सकते हैं और सिर्फ सदस्य वस्तुओं का संदर्भ है। लेकिन अन्य पृष्ठों पर, ऐसा करने में कोई अर्थ नहीं होगा क्योंकि मैं एक अलग मॉडल से निपट रहा हूं, उदाहरण के लिए, एक ग्राहक पृष्ठ जो ग्राहक मॉडल से संबंधित है।

मेरे मास्टर पेज को अभी भी क्लाइंट मॉडल की आवश्यकता है, लेकिन बच्चे के विचार पूरी तरह से विभिन्न मॉडल के साथ काम करेंगे। समस्या एक नियंत्रक में है, वहां आप केवल एक ऑब्जेक्ट मॉडल को व्यू में पास कर सकते हैं। क्या मास्टर को एक मॉडल को पास करने का कोई तरीका है और दृश्य में एक अलग है? धन्यवाद!

+0

अच्छा सवाल, मैं वही बात पूछने जा रहा था! शीर्ष जवाब हालांकि मुझे कहना है। जैसा कि मास्टरमाइंड कहते हैं, इतना आसान! वैसे यह अब lol है ;-) –

+0

वही दुविधा - अच्छी तरह से कहा। धन्यवाद ओप। – nocarrier

उत्तर

14

आप एक पदानुक्रम बना सकते हैं और बेस मॉडल को अपने पृष्ठ पर मास्टर पेज और बाल मॉडल में पास कर सकते हैं।

public class BaseModel 
{ 
} 

public class ChildModelOne : BaseModel 
{ 
} 

public class ChildModelTwo : BaseModel 
{ 
} 

इस तरह, आप गुरु केवल देखने के लिए अपने स्वयं के डेटा (मास्टर मॉडल कक्षा में उपलब्ध) देखेंगे जब तुम विचारों विस्तारित जानकारी बच्चे मॉडल कक्षाओं में उपलब्ध के लिए उपयोग होगा।

बहुत आसान।

+0

शानदार। सुरुचिपूर्ण और अद्भुत। – nocarrier

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