Вам просто потрібно додати файл з назвою:
_ViewStart.cshtml
Під папкою переглядів кожної області:
/Areas/Area1/Views/_ViewStart.cshtml
І відредагуйте файл, щоб вказати на кореневий макет так:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Для того, щоб це працювало, вам не потрібно вказувати значення у властивості макета подання, якщо ви це зробите, ви б замінили глобальний макет
Примітка: Як згадував Тоні, ви можете редагувати властивість макета кожного подання, щоб вказувати на кореневий макет, однак це не рекомендований спосіб зробити це, оскільки ви поєднуєте свої погляди зі своїм макетом, і змінити це буде боляче
Редагувати 1
Якщо ви хочете скористатися кодом для встановлення макета подання за замовчуванням, можливо, вам слід задуматися про створення власного механізму подання.
Спробуйте погуглити про спеціальні RazorViewEngine
таRazorView
Ця стаття може стати гарною відправною точкою
http://weblogs.asp.net/imranbaloch/archive/2011/06/27/view-engine-with-dynamic-view-location.aspx
Я не робив чогось подібного, але, сподіваюся, я вказую вам у правильному напрямку