【问题标题】:Model availability inside ActionFilterActionFilter 中的模型可用性
【发布时间】:2011-01-27 13:08:03
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      既然控制器动作负责创建模型并将其传递给视图,那么模型怎么会在动作被调用之前存在呢?在它发生之前,你不知道要创建什么模型。

      【讨论】:

      • 谢谢,我正在寻找修改活页夹创建的模型。我会找到另一种方式。
      • 如果方法是POST,控制器动作不会创建它
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多