Я використовую _viewstart.cshtml, щоб автоматично призначити той же макет бритви моїм уявленням.
Це просто мертвий простий файл у корені моєї папки Views, який виглядає приблизно так:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
Це більше ДУХО, ніж додавання директиви @Layout до кожного перегляду.
Однак це створює проблему для часткових представлень Razor , оскільки вони виконують вміст _viewstart.cshtml і тому неправильно призначають собі макет, що робить їх, гм, більше не частковими.
Ось гіпотетичний проект, який показує файл _viewstart.cshtml, спільний файл _layout.shtml та частковий вигляд ("AnonBar.cshtml").
В даний час спосіб подолати це шляхом додавання наступного рядка до кожного часткового перегляду:
@{
Layout = "";
}
Це здається невірним способом позначити погляд як частковий у Razor. (Зауважте, що на відміну від механізму перегляду веб-форм, розширення файлу однакове для часткових переглядів.)
Інші варіанти, які я розглядав, але які ще гірші:
- Поміщення всіх часткових представлень у загальну папку, щоб вони могли ділитися загальним _viewstart.cshtml. Це порушує умовність поглядів, що знаходяться в тій же папці, що і їх контролер.
- Не використовуються часткові види.
Це щось, що все ще розробляється колективом двигуна перегляду Razor, чи я пропускаю фундаментальну концепцію?