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