Il vous suffit d'ajouter un fichier nommé:
_ViewStart.cshtml
Sous chaque dossier de vues de zone:
/Areas/Area1/Views/_ViewStart.cshtml
Et modifiez le fichier pour qu'il pointe vers la disposition racine comme ceci:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Pour que cela fonctionne, vous n'avez pas besoin de spécifier une valeur dans la propriété de mise en page de la vue, si vous le faites, vous remplacez la mise en page globale
Remarque: comme Tony l'a mentionné, vous pouvez modifier la propriété de mise en page de chaque vue pour qu'elle pointe vers la mise en page racine, mais ce n'est pas la manière recommandée de le faire car vous coupleriez vos vues avec votre mise en page et la modifier serait pénible
Modifier 1
Si vous souhaitez utiliser du code pour définir la disposition de la vue par défaut, vous devriez peut-être envisager d'écrire un moteur de vue personnalisé.
Essayez de rechercher sur Google la personnalisation RazorViewEngine
etRazorView
Cet article pourrait être un bon point de départ
http://weblogs.asp.net/imranbaloch/archive/2011/06/27/view-engine-with-dynamic-view-location.aspx
Je n'ai pas fait quelque chose comme ça mais j'espère que je vous pointe dans la bonne direction