0

ビューモデル(HouseVMと呼びましょう)がありますが、その中に別のビューモデル(KitchenVM)が含まれています。KitchenVM 用のカスタム モデル バインダーは既に作成しています。今、HouseVM モデルバインダーを作成しています。HouseVM モデル バインダー内で KitchenVM に対して既に行ったモデル バインディングにアクセスするにはどうすればよいですか?

注:私はこの投稿を見ました

4

1 に答える 1

0

オプション1

HouseVM のモデル バインダーを KitchenVM のカスタム バインダーから継承させることができます。これにより、Kitchen VM (または関連する) プロパティのバインドが、そのバインダーによって引き続きバインドされるようになります。何かのようなもの:

public class HouseViewModelBinder : KitchenViewModelBinder
{
    protected override void BindProperty( ControllerContext controllerContext, ModelBindingContext bindingContext, System.ComponentModel.PropertyDescriptor propertyDescriptor )
    {
        if (propertyDescriptor.PropertyType == typeof(KitchenVM))
        {
            base.BindProperty(controllerContext, bindingContext, propertyDescriptor);
        }
        // bind the other properties here
    }
}

オプション # 2

Jimmy Bogard によるこの投稿は、さまざまなカスタマイズされたモデル バインダーを実装して、各型を適切なモデルにバインドできるようにするもう 1 つの良い方法かもしれません。

于 2010-01-13T05:19:07.730 に答える