我有以下actionfilter:
public class PopulateMetaAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
var a = filterContext.Controller.ViewData.Model. ???
return;
}
}
我想更新我的模型或在刚刚导致操作过滤器运行的操作中定义的类。我尝试做的是编写以var a开头的行。一切顺利,直到我达到模型这个词然后intellisense没有给我任何关于字段的建议。
我是否以正确的方式解决这个问题。我想如果我选择OnActionExecuted,那么我的方法中的字段就可用了。
有人可以解释我是否可以访问此模型数据,或者我是否可以在我的操作方法中更新类中的字段。
答案 0 :(得分:0)
你可以,但你需要施展它。例如:
var a = filterContext.Controller.ViewData.Model as MyViewModel;
if (a != null)
{
a.MyProperty = ...;
}