Account / Login.cshtml视图不会使用自定义布局

时间:2014-07-23 17:57:44

标签: asp.net asp.net-mvc-4

我的解决方案有两个控制器:HomeController和AccountController - 都是由我的ASP.NET MVC 4 Web应用程序模板自动生成的。我也有两个独立的布局;第一个我想用于Views / Home目录中的所有页面,第二个我想用于登录提示等等 - 位于Views / Account目录中的视图。< / p>

Views / Account / Login.cshtml使用的是第一个(普通的)共享布局,看起来非常糟糕。所以我做了一个空白的布局,使用名为“_LoginLayout.cshtml”:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title></title>
    <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
    <meta name="viewport" content="width=device-width" />
</head>

<body>
    <section class="content-wrapper main-content clear-fix">
        @RenderBody()
        @RenderSection("scripts", required: false)
    </section>
</body>
</html>

然后我删除了旧的Login.cshtml,并将其重新添加到Views / Accounts目录中,指定它必须使用_LoginLayout.cshtml文件而不是第一个。固执地,它选择使用先前的布局( _Layout.cshtml )而不是我刚刚创建的布局并指定它应该使用( _LoginLayout.cshtml )。

1 个答案:

答案 0 :(得分:1)

所以问题似乎是视图不是用

生成的
@{ 
    Layout = "~/Views/Shared/_LoginLayout.cshtml";
}

在视图内部 - 这解决了问题。