0

我有一个自定义模型绑定器来从会话中获取数据,但我也想不时使用默认绑定器。

是否可以在动作签名中选择模型绑定器而不是使用 UpdateModel?

例子

public ViewResult MyAction(Cart useSessionBinder, Cart useFormData)
{}

谢谢

4

2 回答 2

1

您可以使用以下[ModelBinder]属性:

public ActionResult MyAction(
    [ModelBinder(typeof(MyCustomModelBinder))] Cart useSessionBinder, 
    Cart useFormData
)
{
    ...
}

显然,您不应该将您的自定义模型绑定器全局分配给您的CartApplication_Start,否则它将自动应用于Cart作为操作参数出现的所有实例。

于 2012-07-05T15:09:58.383 回答
0

好吧,您可以将全局自定义模型绑定器保留在 Appliaction_Start 中,让它在任何地方都可以工作,并在需要时不时重置为默认绑定器

public ActionResult MyAction(
       [ModelBinder(typeof(DefaultModelBinder))]  Cart useFormData)
于 2012-08-03T18:46:15.793 回答