Я хочу создать заголовок HTML в дочернем действии; в то время как страница имеет много других дочерних действий. Раздел заголовка html зависит от других действий, чтобы определить, какие файлы js / css следует включить. Различные дочерние действия могут использовать один и тот же файл js / css; и разные страницы имеют разные комбинации css / js, поэтому есть причина для этого. Вот мой пример кода:
Layout.cshtml:
<html>
<head>
@RenderZone("header")
</head>
<body>
@RenderZone("zone1")
@RenderZone("zone2")
@RenderZone("zone3")
</html>
Каждая зона имеет 1 или несколько дочерних действий.
RenderZone - это тоже действие. Режим данных:
Model = GetAllChildActions(zoneName)
Вид RenderZone:
foreach(var m in Model)
@html.action(controller = m.controller, action = m.action)
Поскольку зона заголовка является верхней, поэтому она всегда выполняется первой, тогда она не может получить данные от других дочерних действий. Я пробовал фильтры (onActionExecuted; onActionResultExcuted и т. Д.), Но ни один из них не работает. Мне действительно нужно выполнить действие заголовка после того, как все дочерние действия отображаются. Я не хочу генерировать CSS внизу страницы. Я мог бы, но я не хочу использовать javascript для внедрения файлов js / css; или напишите модуль http, чтобы «вручную» изменить вывод html. Это очень легко обрабатывать в веб-форме. Я считаю, что есть способ сделать это и в MVC. Любая помощь будет принята с благодарностью!