Asp.net mvc 在asp.net MVC中绕过复杂动作参数的模型绑定?

Asp.net mvc 在asp.net MVC中绕过复杂动作参数的模型绑定?,asp.net-mvc,binding,Asp.net Mvc,Binding,是否有一个属性可以关闭复杂动作参数的模型绑定 我的场景是这样的:我使用LINQtoSQL,但使生成的类实现接口。例如,IUser。我的一些控制器操作接受IUser参数,我的一些视图绑定IUser模型,但我不希望默认的模型绑定器构造它。我使用动作过滤器。这背后的想法是,如果一个操作需要用户详细信息,那么在调用该操作之前,操作过滤器会从数据库中获取该信息 为了避免在启动DefaultModelBuilder时发生的错误,我制作了一个null模型绑定器,它只从CreateModel返回null Mod

是否有一个属性可以关闭复杂动作参数的模型绑定

我的场景是这样的:我使用LINQtoSQL,但使生成的类实现接口。例如,IUser。我的一些控制器操作接受IUser参数,我的一些视图绑定IUser模型,但我不希望默认的模型绑定器构造它。我使用动作过滤器。这背后的想法是,如果一个操作需要用户详细信息,那么在调用该操作之前,操作过滤器会从数据库中获取该信息

为了避免在启动DefaultModelBuilder时发生的错误,我制作了一个null模型绑定器,它只从CreateModel返回null

ModelBinderDictionary binders = System.Web.Mvc.ModelBinders.Binders;
binders[typeof(IUser)] = new NullModelBinder();

遵循体系结构并创建一个IUser绑定器来完成您的操作过滤器所做的工作不是更简单吗?目前,您正在扭曲操作过滤器以执行它不完全打算执行的操作,并且在此过程中,您还忽略了专门为执行您试图实现的操作而设计的扩展点,即以特定方式创建参数实例

您是否有充分的理由在操作筛选器中而不是使用自定义活页夹创建IUser