我可以在actionfilter中更新我的模型或其他类

时间:2011-11-25 10:19:05

标签: asp.net-mvc

我有以下actionfilter:

public class PopulateMetaAttribute : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext filterContext)   
    {
        var a = filterContext.Controller.ViewData.Model. ???
        return;
    }
}

我想更新我的模型或在刚刚导致操作过滤器运行的操作中定义的类。我尝试做的是编写以var a开头的行。一切顺利,直到我达到模型这个词然后intellisense没有给我任何关于字段的建议。

我是否以正确的方式解决这个问题。我想如果我选择OnActionExecuted,那么我的方法中的字段就可用了。

有人可以解释我是否可以访问此模型数据,或者我是否可以在我的操作方法中更新类中的字段。

1 个答案:

答案 0 :(得分:0)

你可以,但你需要施展它。例如:

var a = filterContext.Controller.ViewData.Model as MyViewModel;
if (a != null)
{
    a.MyProperty = ...;
}