2010-02-02 13 views

उत्तर

3

एक ASP.NET MVC में दृढ़ता से टाइप किया दृश्य System.Web.Mvc.ViewPage<T> से विरासत और एक मॉडल संपत्ति टी द्वारा निर्दिष्ट प्रकार का है कि यह अपने विचारों में काम करने की अनुमति देता है IntelliSense में शामिल है।

2

हर दृश्य में एक Model संपत्ति है। दृढ़ता से टाइप करने के लिए इसका मतलब है कि इसे ViewPage<T> से प्राप्त करें, और मॉडल प्रॉपर्टी टी का प्रकार बन जाती है। यदि आप दृढ़ता से अपना विचार टाइप नहीं करते हैं, तो मॉडल "ऑब्जेक्ट" प्रकार का है।

आपके व्यू के मॉडल को मजबूत रूप से टाइप करने में फायदे हैं कि आप सीधे मॉडल के गुणों तक पहुंच सकते हैं। व्यूडाटा डिक्शनरी तक पहुंचने के लिए "जादू तार" का उपयोग करने पर निर्भर होने के बजाय आपको इंटेलिजेंस और कंपाइलर जांच मिलती है - जो आपके मॉडल को कभी भी बदलते समय रनटाइम पर तोड़ देगा।

उदाहरण के लिए, यदि आप

public class Person 
{ 
    public int Age { get; set; } 
} 

था और आप दृढ़ता से Person वर्ग पर टाइप अपने दृश्य बनाया है, आप अपना दृश्य खाके से Model.Age उपयोग करने में सक्षम हो जाएगा। यदि आपका दृश्य दृढ़ता से टाइप नहीं किया गया था, तो Model आपके पास पहुंचने के लिए कोई गुण नहीं होगा, और आपको इसे एक प्रकार के लिए स्पष्ट रूप से डालना होगा या व्यूडेटा शब्दकोश के माध्यम से अपना डेटा पास करना होगा।

दृढ़ता से इस दृश्य को टाइप करने के लिए, आप इसे ViewPage<Person> से प्राप्त करें।

1

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

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