我有一个自定义模型绑定器来从会话中获取数据,但我也想不时使用默认绑定器。
是否可以在动作签名中选择模型绑定器而不是使用 UpdateModel?
例子
public ViewResult MyAction(Cart useSessionBinder, Cart useFormData)
{}
谢谢
我有一个自定义模型绑定器来从会话中获取数据,但我也想不时使用默认绑定器。
是否可以在动作签名中选择模型绑定器而不是使用 UpdateModel?
例子
public ViewResult MyAction(Cart useSessionBinder, Cart useFormData)
{}
谢谢
您可以使用以下[ModelBinder]
属性:
public ActionResult MyAction(
[ModelBinder(typeof(MyCustomModelBinder))] Cart useSessionBinder,
Cart useFormData
)
{
...
}
显然,您不应该将您的自定义模型绑定器全局分配给您的Cart
类Application_Start
,否则它将自动应用于Cart
作为操作参数出现的所有实例。
好吧,您可以将全局自定义模型绑定器保留在 Appliaction_Start 中,让它在任何地方都可以工作,并在需要时不时重置为默认绑定器
public ActionResult MyAction(
[ModelBinder(typeof(DefaultModelBinder))] Cart useFormData)