セッションからデータを取得するためのカスタムモデルバインダーがありますが、デフォルトのバインダーを時々使用したいと思います。
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)