我有一个ASP.NET MVC 3项目,其中包含一个模型绑定到视图模型的POST操作
[HttpPost]
public virtual ActionResult Reply(ReplyViewModel viewModel)
{
// ...
}
我有一个ActionFilter
,我想在OnActionExecuted
中查看该视图模型,但ViewData.Model
为空。我是不是误解了ViewData.Model
是什么?
public class CopyViewModelToTempDataAttribute : System.Web.Mvc.ActionFilterAttribute
{
public override void OnActionExecuted(System.Web.Mvc.ActionExecutedContext filterContext)
{
// filterContext.Controller.ViewData.Model is null
}
}
发布于 2011-12-18 04:34:28
这可能是此问题的解决方案1.我假设您指定了Model in Action
现在来看Filter
public override void OnActionExecuted(System.Web.Mvc.ActionExecutedContext filterContext)
{
if(filterContext.HttpContext.Request.HttpMethod == "POST")
{
// Get your model here.
}
}
发布于 2011-12-18 12:33:17
在返回视图时,您的控制器操作必须传递视图模型:
[HttpPost]
public virtual ActionResult Reply(ReplyViewModel viewModel)
{
// ...
return View(someViewModel);
}
现在,您将能够在操作过滤器中获取返回的视图模型。
https://stackoverflow.com/questions/8549814
复制相似问题