How do you define a layout for specific areas in ASP.Net MVC 4?

I'm playing a little catch up here as I went straight from MVC2 to MVC4, so learning Razor and everything else all at once.

I'm using an admin area in this new application, and I noticed when I went to the controller in the admin area it rendered without any layout. I tried copying the _Layout.cshtml into the shared view folder of the area, but it still renders with no layout. I tried searching, but can't find any information as to how you set a layout to be used for an area.

I know I can do this on a specific view, but I want to set it once for the entire area

@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}

You have to have file _ViewStart.cshtml under folder Views in your area. This file would have something like this in it:

@{
    Layout = Request.IsAjaxRequest() ? null : "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}
链接地址: http://www.djcxy.com/p/80088.html

上一篇: 强制所有区域使用相同的布局

下一篇: 你如何定义ASP.Net MVC 4中特定区域的布局?