1

特定のデータ型用のカスタム データバインダーがあり、すべて問題なく動作しています。ただし、バインディング コンテキストを変更して、バインドされているタイプではなく、別のタイプの BindModel を呼び出すことができるかどうかを知りたいです。

例:

public class CustomModelBinder : DefaultModelBinder
{
    public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
    {
        var otherTypeObject = BindModel(controllerContext, [other-binding-context]);
        return wizard;
    }
4

1 に答える 1

0

はい、可能です。構成で別のバインディング コンテキストを作成するだけです。

var otherBindingContext = new ModelBindingContext {
    ModelMetadata = ModelMetadataProviders.Current.GetMetadataForType(() => [object_instance], [object_type]),
    ModelState = bindingContext.ModelState,
    PropertyFilter = bindingContext.PropertyFilter,
    ValueProvider = bindingContext.ValueProvider
};

そして、base.BindModel上記のコンテキストを使用して を呼び出します。

于 2013-01-29T15:30:23.270 に答える