Я собираюсь описать конкретную проблему, которая у нас есть в нашем проекте MVC, но которая похожа на другие проблемы, которые следуют той же схеме. Я упоминаю об этом, потому что хочу обдумать решение в общих чертах, которое можно применять во многих ситуациях.
В нашем приложении MVC2 (с использованием Spark) у нас есть главная страница макета, которая содержит ссылку на дочерний контроллер действий для отображения некоторых метаданных страницы. Метаданные этой страницы различаются в зависимости от отображаемого фактического представления. Поэтому нам нужно передать некоторые данные из контроллера View или Views в дочернее действие на странице макета. Иногда метатегам нужно знать только имя текущего представления, чтобы отображать правильные метатеги, на других страницах нужно передавать такие вещи, как идентификаторы продуктов.
Теперь мы знаем, что можем создать собственный базовый контроллер, от которого наследуется View Controler, и сделать базовый вызов абстрактным методом для получения данных из View Controller; или пусть View Controller поместит в корзину ViewData данные, которые макет может прочитать и передать в дочерний контроллер действий, но оба эти подхода кажутся грязными.
Есть ли другой способ сделать это, с чем нам может помочь фреймворк? Мне бы хотелось, если бы вы могли в общих чертах подумать о проблеме влияния на страницу макета из View / ViewController, поскольку у меня есть другие ситуации, когда подобная ситуация является проблемой.
Заранее спасибо