@ JasCav: Если частичному нужен собственный CSS, у него нет хорошего способа ее визуализации.
Если это и есть причина его использования, то вполне возможно, что он придуман.
Вы не хотите иметь отдельный файл CSS x частичный / вспомогательный. Помните, что каждый отдельный CSS-файл означает отдельный запрос на его получение с сервера, что является дополнительным обходом, влияющим на время отображения вашей страницы.
Также вы не хотите передавать прямой CSS в HTML из партиала / хелпера. Вместо этого вы хотите, чтобы у него были соответствующие хуки, которые вы можете использовать для определения всего вида в CSS-файле вашего сайта.
Вы можете использовать те же хуки, которые доступны для CSS, чтобы активировать пользовательское поведение JavaScript для задействованных элементов, когда JavaScript включен.
Наконец, возможно, вам нужен не частичный вид, а дополнительный макет, который вы используете для некоторых страниц. При таком подходе вы получите:
- Мастер-макет, который автоматически устанавливается на _ViewStart, как вы, вероятно, уже сейчас. Это определяет разделы, как в вашем примере.
- Страница детского макета. Здесь у вас есть дополнительные html, css, js, необходимые для этих представлений. При этом используются @RenderBody () и @section SomeSection {} для структурирования вашего общего дополнительного макета.
- Некоторые представления, указывающие на дочерний макет, и другие, использующие мастер-макет по умолчанию.
Как получить дополнительные данные для детей Макет выходит за рамки вопроса, но у вас есть несколько вариантов. Как иметь общую базу для ваших сущностей; используя ViewBag или вызывая Html.RenderAction, чтобы получить эту общую логику, связанную с общими динамическими элементами в макете.