Вот в чем дело.У меня есть действие MVC, и к этому действию я применил пользовательский атрибут ActionFilterAttribute, чтобы заставить десериализацию работать.Теперь, что я хочу сделать, это установить некоторый заголовок на основе ViewBag.Title, который установлен внутри этого представления.
Я попытался обернуть ViewResult своим собственным и переопределить ExecuteResult, но ViewBagвсегда пусто: - (.
Это вообще возможно или двигатель MVC сбрасывает ViewBag после выполнения _layout?
Обновление: Позвольте мне опубликовать несколько примеров кода, чтобы прояснить, что я хочу сделать. У меня есть служба электронной почты, где я отображаю тело из представления MVC. Таким образом, мое представление выглядит так:
@{ViewBag.Title = "EventCreated";}
Something that ressembles an email message here.
Теперь у меня есть контроллер сдействие, которое выглядит примерно так:
public ActionResult HelloWorld(MailView<HelloWorldMessage> msg)
{
Response.Headers["subject"] = "Test subject";
return View(msg);
}
Я хочу сделать так, чтобы оператор Headers ["subject"] выглядел как Response.Headers ["subject"] = ViewBag.Title; и я хочу, чтобымогу позволить представлению думать, что оно обрабатывает обычную веб-страницу.
Я пытался использовать ActionFilterAttribute и переопределить OnResultExecuted, но не смог заставить его работать.
Один из возможных вариантов - установитьэто на странице макетаи на самом деле решить на основе определенных критериев, какой макет использовать.Таким образом, я все еще могу скрывать Reponse от своих взглядов, но сделать его довольно чистым.Что вы думаете?
Спасибо, Анже