我正在从空站点模板构建一个新的ASP.Net Core 2.0,我正在努力让 _ViewStart.cshtml 页面正常工作。我创建了 Views - >共享 - > _ViewStart.cshtml 页面,其中包含以下代码:
@{
Layout = "~/Views/Shared/Layout/_Layout.cshtml";
}
在我用于登录页面视图的 Index.cshtl 文件中,我有以下代码:
@{
ViewData["Title"] = "Index";
//Layout = "~/Views/Shared/Layout/_Layout.cshtml";
}
<h2>Index</h2>
如果我在Visual Studio 2017中运行F5调试,索引页面会加载并显示“索引”,如果我查看源代码,我的布局中没有HTML。如果我取消注释Layout行并重新加载页面,一切正常。两个文件中的两个布局路径是相同的,为什么 Index.cshtml 文件不能从 _ViewStart.cshtml 中读取?
我不确定我是否只是错过了添加一个软件包或其他东西才能完成这项工作,或者ViewStart是否在.NET Core中无法在.NET 4.5中使用?
答案 0 :(得分:1)
它像以前一样工作。这是将它放在错误的文件夹中的情况。
它( _ViewStart.cshtml )假设位于根视图文件夹 Views / _ViewStart.cshtml 而不是 Views / Shared 文件夹中
_ViewStart.cshtml
和_ViewImports.cshtml
通常都不会放在/Views/Shared
文件夹中。这些文件的应用级版本应直接放在/Views
文件夹中。