ASP.NET MVC 3 Custom Action Filter – ¿Cómo agregar el modelo entrante a TempData?

Estoy tratando de construir un filtro de acción personalizado que saque el modelo entrante del contexto del filtro, lo agregue a tempdata y luego haga “otras cosas”.

Mi método de acción se ve así:

[HttpPost] [MyCustomAttribute] public ActionResult Create(MyViewModel model) { // snip for brevity... } 

Ahora, quiero agregar el model a TempData , después de que el enlace del model TempData y transformado la colección de valores de formulario en MyViewModel .

¿Cómo puedo hacer eso?

 public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!filterContext.Controller.ViewData.ModelState.IsValid) return; var model = filterContext.????; // how do i get the model-bounded object? filterContext.TempData.Add(someKey, model); } 

Lo tengo, espero que esta sea la forma correcta de hacerlo:

 public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!filterContext.Controller.ViewData.ModelState.IsValid) return; var model = filterContext.ActionParameters.SingleOrDefault(ap => ap.Key == "model").Value; if (model != null) { // Found the model - add it to tempdata filterContext.Controller.TempData.Add(TempDataKey, model); } }