ActionFilter中的模型可用性

时间:2010-03-15 03:39:23

标签: asp.net-mvc action-filter custom-model-binder

我为我正在创建的ASP.NET MVC应用程序创建了一个新的ActionFilter。我有一个接受Http Post的动作,动作方法的参数接受一个对象,我已经创建并注册了一个自定义模型绑定器。

我注意到在IActionFilter.OnActionExecutingfilterContext.Controller.ViewData.Model的值始终为null,尽管看起来在动作过滤器OnActionExecuting之前总是调用模型绑定器方法。与此相反,在同一操作过滤器的IActionFilter.OnActionExecuted方法中,filterContext.Controller.ViewData.Model的值不为空。

你们知道这是设计还是错误?如果设计是他们的任何链接描述为什么这是?感谢。

2 个答案:

答案 0 :(得分:1)

Sayed,您通常在执行操作期间设置模型。因此,在执行调用操作之前发生的OnActionExecuting期间,模型自然是null。

答案 1 :(得分:0)

由于Controller Action负责创建模型并将其传递给View,因此在调用操作之前模型是如何存在的?你不知道什么模型会在它发生之前创建。