【问题标题】:ViewStart.cshtml does not seem to be read from viewsViewStart.cshtml 似乎没有从视图中读取
【发布时间】:2018-05-27 14:18:46
【问题描述】:

我正在从空站点模板构建一个新的 ASP.Net Core 2.0,并且我正在尝试使 _ViewStart.cshtml 页面正常工作。我已经创建了 Views -> Shared -> _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。如果我取消注释布局行并重新加载页面一切正常。这两个文件中的两个布局路径是相同的,那么为什么 Index.cshtml 文件没有从 _ViewStart.cshtml 中读取?

我不确定我是否只是错过了添加一个包或其他东西来完成这项工作,或者 ViewStart 在 .NET Core 中不起作用,就像在 .NET 4.5 中那样?

【问题讨论】:

  • 错误的文件夹。假设它位于根视图文件夹 Views -> _ViewStart.cshtml 而不是 Shared 文件夹

标签: razor asp.net-core asp.net-core-mvc-2.0


【解决方案1】:

它像以前一样工作。这是将其放入错误文件夹的情况。

它 (_ViewStart.cshtml) 应该位于根视图文件夹 Views/_ViewStart.cshtml 而不是 Views/Shared 文件夹中

_ViewStart.cshtml_ViewImports.cshtml 通常都不会放在 /Views/Shared 文件夹中。这些文件的应用级版本应直接放在/Views 文件夹中。

参考Layout in ASP.NET Core : Running Code Before Each View

【讨论】:

  • 是的,你让我上了那个。我实际上是在使用该页面来尝试调试,只是错过了对齐图片中的文件夹结构。我现在觉得自己很傻
猜你喜欢
  • 2017-05-25
  • 1970-01-01
  • 2016-03-22
  • 1970-01-01
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
  • 1970-01-01
  • 2015-01-27
相关资源
最近更新 更多