2013-01-14 8 views
12

मेरे एमवीसी 4 रेज़र लेआउट में मैं @RenderSection का उपयोग कर रहा हूं और को @RenderBody से परेशान नहीं करता हूं।एक एमवीसी रेजर व्यू में @RenderBody का उपयोग करने का क्या मतलब है?

फिर विचारों में मैं बस सबकुछ अनुभागों में रखता हूं।

इससे मुझे आश्चर्य होता है कि @RenderBody के अलावा अन्य लोगों को यह आसान बनाता है जो चीजों को अनुभागों में रखना नहीं चाहते हैं। क्या @RenderBody से कुछ और @RenderSection के अंदर कुछ अलग है?

उत्तर

17

@RenderBody आपके पृष्ठ की सामग्री को किसी भी नामित अनुभाग में नहीं प्रस्तुत करता है। यदि आपकी सामग्री के सभी आपके परिभाषित अनुभागों में से एक के भीतर है, तो कोई बात नहीं है। हालांकि ...

रेजर सिंटैक्स में, @RenderSection मास्टर पृष्ठों को प्रतिस्थापित करता है। यह आपको विशेष क्षेत्रों के लिए पृष्ठ के अनुभागों को बनाने की अनुमति देता है, और फिर @RenderBody घोषणा के स्थान पर सामग्री के मुख्य भाग को स्वाभाविक रूप से उभरने की अनुमति देता है।

मान लें कि आप एक चालान लिख रहे हैं। RenderBody क्षेत्र उस पृष्ठ का वह हिस्सा होगा जिसमें आपके चालान लाइन आइटम होंगे। यह ज्यादातर रिपोर्टों के बारे में सच है; हमेशा एक हेडर सेक्शन, एक बॉडी सेक्शन और एक पाद लेख होता है।

संभवतः, एक वेब पेज के उपयुक्त क्षेत्र में एक सेक्शन को प्रस्तुत करने से आप उचित अर्थपूर्ण व्यवहार प्राप्त कर सकते हैं, जैसे कि फ़ूटर को स्टाइल करना, जिस तरह से यह हमेशा किसी पृष्ठ के नीचे दिखाई देता है।

<footer> 
    @RenderSection("Footer", @<span>This is my footer!</span>) 
</footer> 

http://msdn.microsoft.com/en-us/vs2010trainingcourse_aspnetmvc3razor_topic2.aspx

http://haacked.com/archive/2011/03/05/defining-default-content-for-a-razor-layout-section.aspx

+0

धन्यवाद - मुझे ऐसा लगा। बस सोच रहा है कि क्या रेंडरबॉडी के साथ कोई विशेष कैशिंग या कुछ भी था। व्यक्तिगत रूप से यदि मेरे पास एक से अधिक सेक्शन हैं तो मुझे लगता है कि यह रेंडरबॉडी का उपयोग करने के लिए और दूसरे के लिए अनुभागों के बजाय अनुभागों में सब कुछ रखने के लिए थोड़ा क्लीनर है। – Melina

+0

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

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