我为我正在创建的ASP.NET MVC应用程序创建了一个新的ActionFilter。我有一个接受Http Post的动作,动作方法的参数接受一个对象,我已经创建并注册了一个自定义模型绑定器。
我注意到在IActionFilter.OnActionExecuting
内filterContext.Controller.ViewData.Model
的值始终为null
,尽管看起来在动作过滤器OnActionExecuting
之前总是调用模型绑定器方法。与此相反,在同一操作过滤器的IActionFilter.OnActionExecuted
方法中,filterContext.Controller.ViewData.Model
的值不为空。
你们知道这是设计还是错误?如果设计是他们的任何链接描述为什么这是?感谢。
答案 0 :(得分:1)
Sayed,您通常在执行操作期间设置模型。因此,在执行调用操作之前发生的OnActionExecuting期间,模型自然是null。
答案 1 :(得分:0)
由于Controller Action负责创建模型并将其传递给View,因此在调用操作之前模型是如何存在的?你不知道什么模型会在它发生之前创建。