आपको बस नाम की एक फ़ाइल जोड़ना है:
_ViewStart.cshtml
प्रत्येक क्षेत्र दृश्य फ़ोल्डर के तहत:
/Areas/Area1/Views/_ViewStart.cshtml
और इस तरह रूट लेआउट को इंगित करने के लिए फ़ाइल को संपादित करें:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
इसे काम करने के लिए, आपको दृश्य की लेआउट संपत्ति में कोई मूल्य निर्दिष्ट करने की आवश्यकता नहीं है, यदि आप करते हैं, तो आप वैश्विक लेआउट को ओवरराइड करेंगे
नोट: जैसा कि टोनी ने उल्लेख किया है, आप रूट लेआउट को इंगित करने के लिए प्रत्येक दृश्य की लेआउट संपत्ति को संपादित कर सकते हैं, हालांकि यह ऐसा करने के लिए अनुशंसित तरीका नहीं है क्योंकि आप अपने लेआउट के साथ अपने विचारों को युग्मित करेंगे और इसे बदलना दर्दनाक होगा।
संपादित करें 1
यदि आप डिफ़ॉल्ट दृश्य के लेआउट को सेट करने के लिए कोड का उपयोग करना चाहते हैं, तो शायद आपको एक कस्टम दृश्य इंजन लिखने पर विचार करना चाहिए।
कस्टम RazorViewEngine
और के बारे में Google के लिए प्रयास करेंRazorView
यह लेख एक अच्छी शुरुआत हो सकती है
http://weblogs.asp.net/imranbaloch/archive/2011/06/27/view-engine-with-dynamic-view-location.aspx
मैंने ऐसा कुछ नहीं किया है लेकिन मुझे उम्मीद है कि मैं आपको सही दिशा में इशारा कर रहा हूं