У меня есть Identity, помеченный в соответствии с документацией, и все работает правильно, кроме макета папки /Manage
. Директория настроена точно так же, как и на леса.
Настройка каталога со всеми ошибками. удаленные файлы
Для ясности: /Areas/Identity/Pages/Account/Manage
- это проблемная папка.
/Pages
Содержит файл _ViewStart, который устанавливает макет из моих представлений /Общая папка.
/Pages/Account
Получает макет от _Viewstart и работает правильно.
/Pages/Account/Manage
Все здесь только получает макет _ViewStart. Файл _Layout, находящийся здесь, не будет автоматически найден на страницах внутри него.
Areas/Identity/Pages/Account/Manage/_Layout.cshtml
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
<h1>Manage your account</h1>
<div>
<h4>Change your account settings</h4>
<hr />
<div class="row">
<div class="col-md-3">
<partial name="_ManageNav" />
</div>
<div class="col-md-9">
@RenderBody()
</div>
</div>
</div>
@section Scripts {
@RenderSection("Scripts", required: false)
}
Это именно то, как он вставляется в скаффолд, и макет ломается только тогда, когда выизмените AddDefaultIdentity () на AddIdentity (). Я работаю со ссылкой, которую я создал, и это заставляет меня поверить, что я ничего не учел при удалении пользовательского интерфейса по умолчанию. Единственный обходной путь, который я нашел, - это вручную настроить макет каждого файла .cshtml в /Manage
@{
Layout = "_Layout";
}
. Это исправляет все и заставляет компоновку работать должным образом для страниц внутри /Manage
. Я прочитал документацию и в ней говорится, что каждый контроллер Razor Page должен искать в своей папке файл _Layout, прежде чем искать в другом месте. Есть ли причина, по которой он не обнаруживает файл?