0

作成中の ASP.NET MVC アプリケーション用に新しい ActionFilter を作成しました。Http Post を受け入れるアクションがあり、アクション メソッドの引数は、カスタム モデル バインダーを作成して登録したオブジェクトを受け入れます。

モデル バインダーが常にアクション フィルターメソッドの前に呼び出されるように見えるという事実にもかかわらずIActionFilter.OnActionExecuting、値の内部にfilterContext.Controller.ViewData.Modelは常にあることに気付きました。これとは対照的に、同じアクション フィルターのメソッド内では、値は null ではありません。nullOnActionExecutingIActionFilter.OnActionExecutedfilterContext.Controller.ViewData.Model

これが設計によるものなのか、バグなのか、皆さんは知っていますか? 設計上、これが理由を説明するリンクがある場合は? ありがとう。

4

2 に答える 2

1

通常、アクションの実行中にモデルを設定します。したがって、アクションが呼び出される前に発生する OnActionExecuting の実行中にモデルが null になるのは当然です。

于 2010-03-15T03:50:23.397 に答える
0

コントローラ アクションはモデルを作成し、それをビューに渡す責任があるため、アクションが呼び出される前にモデルが存在する可能性はありますか? どのモデルが作成されるかは、作成されるまでわかりません。

于 2010-03-15T03:49:11.070 に答える