Как передать данные из дочернего действия в макет в ASP.NET MVC
У меня есть представление, которое использует макет, а также выполняет дочернее действие.
Макет вызывает частичный, который требует некоторых данных из действия дочернего элемента представления. Есть ли способ передать данные из дочернего действия в родительский макет представления?
Я попытался решить это с помощью разделов, но кажется, что разделы могут отображаться только в представлениях макета.
В конце концов, у меня были дочерние действия, необходимые данные в HttpContext. Затем это было прочитано в представлении, содержащем дочернее действие, которое использовало его для отображения раздела в макете.
Я был обеспокоен тем, что порядок обработки представлений не был бы предсказуемым (т.е. Я не мог быть уверен, что данные будут записаны в HttpContext перед их чтением), но оказывается, что порядок обработки полностью предсказуемы.
В действии вашего ребенка вы можете настроить данные как data-***
а затем использовать JavaScript (или jQuery), чтобы прочитать их в частичном.
Например, действие ребенка:
<div id="somedata" data-customerid="123" data-reference="xyz">
</div>
Затем в частичном:
<script>
....
var customerId = $("#somedata").data("customerid");
var reference = $("#somedata").data("reference");
</script>
Надеюсь это поможет
- Вопросы
- Asp.net-mvc
- Как передать данные из дочернего действия в макет в ASP.NET MVC