asp.net-mvc-4 - 如何在ASP.Net MVC 4中为特定区域定义布局?

标签 asp.net-mvc-4 asp.net-mvc-areas razor-2

从MVC2到MVC4的过程中,我在这里起到了赶超的作用,因此可以同时学习Razor和所有其他内容。

我在这个新应用程序中使用了一个管理区域,当我进入管理区域中的 Controller 时,我注意到它呈现为没有布局。我尝试将_Layout.cshtml复制到该区域的共享 View 文件夹中,但是它仍然呈现为无布局。我尝试搜索,但是找不到任何有关如何设置要用于区域的布局的信息。

我知道我可以在特定 View 上执行此操作,但是我想为整个区域设置一次

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

最佳答案

您必须在您所在区域的_ViewStart.cshtml文件夹下拥有Views文件。
该文件中将包含以下内容:

@{
    Layout = Request.IsAjaxRequest() ? null : "~/Areas/Admin/Views/Shared/_Layout.cshtml";
}

关于asp.net-mvc-4 - 如何在ASP.Net MVC 4中为特定区域定义布局?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13058694/

相关文章:

带有DropDownList数据的ASP.NET MVC 4 ViewModel

asp.net-mvc - 将 @Html.Action 添加到 _layout 时出现 "No route in the route table matches the supplied values."错误

c# - 文件夹内的 MVC 路由

c# - RazorTemplateEngine 解析器产生不寻常的语法树

authentication - ASP.NET MVC4 覆盖 OnAuthorization 以允许角色白名单

c# - 如何远程验证电子邮件或检查电子邮件是否存在

asp.net-mvc-3 - MVC 3路由到一个区域

c# - 模型类型引用在 mvc View 中不起作用

azure - MVC4 Azure 发布错误 - 无法加载文件或程序集 'System.Web.Razor'

javascript - 防止从浏览器拖放复制