@MVC Model é nulo no filtro de ação OnExecuted ... ou uma maneira mais elegante de definir o model

Eu tenho um ActionFilter com uma substituição no método OnActionExecuted. O filterContext.Controller.ViewData.Model é sempre nulo em uma operação POST. Eu encontrei o seguinte artigo que parece dizer que não deve ser nulo, mas isso deve ter sido uma versão anterior do MVC. Este é o MVC3. O que devo receber?

isponibilidade do modelo no ActionFilter

ATUALIZAR

Eu descobri a resposta para a pergunta original. Eu tinha um ActionResult personalizado que gera JSON com um formatador de data personalizado. O problema era que o modelo não está sendo definido no controlado

No meu ActionResult personalizado, o método ExecuteResult passa pelo ControllerContext, o que seria bom se eu pudesse definir o Model lá:

context.Controller.ViewData.Model = _data;

Mas isso é tarde demais no ciclo e o resultado ainda é nulo no ActionFilter. Isso parece significar que eu preciso definir manualmente o modelo no controlador:

ControllerContext.Controller.ViewData.Model = model; 

O

View(model);

O que significa que preciso lembrar disso sempre que usar esse ActionResult personalizado. Existe uma maneira mais elegante?

Ainda outra atualização:

Eu encontrei uma maneira de fazer isso, simplesmente não é tão elegante quanto eu esperav

No meu construtor para o primeiro ActionResult que estou enviando no controlador, dessa forma pelo menos sempre será consistente:

public JsonNetResult(object data, Controller controller) {
    SerializerSettings = new JsonSerializerSettings();
    _data = data;
    controller.ControllerContext.Controller.ViewData.Model = _data;
}

questionAnswers(2)

yourAnswerToTheQuestion