0

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

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

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

4

2 回答 2

1

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

于 2010-03-15T03:50:23.397 回答
0

由于控制器动作负责创建模型并将其传递给视图,模型如何在调用动作之前存在?在它发生之前,你不知道要创建什么模型。

于 2010-03-15T03:49:11.070 回答