Как передать данные из дочернего действия в макет в ASP.NET MVC

46
5

У меня есть представление, которое использует макет, а также выполняет дочернее действие.

Макет вызывает частичный, который требует некоторых данных из действия дочернего элемента представления. Есть ли способ передать данные из дочернего действия в родительский макет представления?

Я попытался решить это с помощью разделов, но кажется, что разделы могут отображаться только в представлениях макета.

спросил(а) 2013-11-05T16:09:00+04:00 6 лет, 1 месяц назад
2
Решение
47

В конце концов, у меня были дочерние действия, необходимые данные в HttpContext. Затем это было прочитано в представлении, содержащем дочернее действие, которое использовало его для отображения раздела в макете.

Я был обеспокоен тем, что порядок обработки представлений не был бы предсказуемым (т.е. Я не мог быть уверен, что данные будут записаны в HttpContext перед их чтением), но оказывается, что порядок обработки полностью предсказуемы.

ответил(а) 2013-11-13T00:31:00+04:00 6 лет, 1 месяц назад
Еще 1 ответ
32

В действии вашего ребенка вы можете настроить данные как 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>

Надеюсь это поможет

ответил(а) 2013-11-05T20:10:00+04:00 6 лет, 1 месяц назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема