複合アクションパラメータのモデルバインディングを無効にする属性はありますか?複雑なアクションパラメータのasp.net MVCのバイパスモデルバインダ?
私のシナリオは次のとおりです。私はSQLにLinqを使用していますが、生成されたクラスはインターフェイスを実装しています。たとえば、IUser。私のコントローラのアクションの中にはIUserのパラメータを受け入れるものがあり、私のビューの中にはIUserのモデルをバインドするものもありますが、デフォルトのモデルのバインダではそれを構築したくありません。私はそのためにアクションフィルターを使用します。この背後にあるアイデアは、アクションがユーザーの詳細を必要とする場合、アクションフィルターはアクションが呼び出される前にデータベースから取得するということです。
DefaultModelBuilderが起動したときに発生するエラーを回避するために、私はCreateModelからnullを返すnullモデルのバインダーを作成しました。
ModelBinderDictionary binders = System.Web.Mvc.ModelBinders.Binders;
binders[typeof(IUser)] = new NullModelBinder();