ViewStart.cshtml не читается из представлений - PullRequest
0 голосов
/ 27 мая 2018

Я создаю новый 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>

Если я запускаю отладку F5 в Visual Studio 2017, страница индекса загружается и просто показывает «Индекс», если я смотрю на исходный код, который естьнет HTML из моего макета.Если я раскомментирую строку Layout и перезагрузлю страницу, все будет нормально.Два пути макета идентичны в обоих файлах, так почему файл Index.cshtml не читает из _ViewStart.cshtml ?

Я не уверен, что я пропустилдобавление пакета или чего-то такого, чтобы это работало, или ViewStart не работает в .NET Core, как в .NET 4.5?

1 Ответ

0 голосов
/ 27 мая 2018

Работает как раньше.Это случай, когда он помещается в неправильную папку.

Предполагается, что он ( _ViewStart.cshtml ) находится в корневой папке просмотра Views / _ViewStart.cshtml , а не в папке Views / Shared

Ни _ViewStart.cshtml, ни _ViewImports.cshtml обычно не помещаются в папку /Views/Shared.Версии этих файлов на уровне приложений следует помещать непосредственно в папку /Views.

Ссылка Макет в ASP.NET Core: запуск кода перед каждым просмотром

...