ASP.NET MVC 3自定义操作过滤器 - 如何将传入模型添加到TempData?

我正在尝试构建一个自定义动作过滤器,它从过滤器上下文中获取传入模型,将其添加到tempdata,然后执行“其他内容”。 我的动作方法如下所示:
[HttpPost]
[MyCustomAttribute]
public ActionResult Create(MyViewModel model)
{
   // snip for brevity...
}
现在,我想在模型绑定启动后将
model
添加到
TempData
并将表单值集合转换为
MyViewModel
。 我怎么做?
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);
}
    
已邀请:
得到它 - 希望这是正确的方法:
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);
   }
}
    

要回复问题请先登录注册