ビューモデル(HouseVMと呼びましょう)がありますが、その中に別のビューモデル(KitchenVM)が含まれています。KitchenVM 用のカスタム モデル バインダーは既に作成しています。今、HouseVM モデルバインダーを作成しています。HouseVM モデル バインダー内で KitchenVM に対して既に行ったモデル バインディングにアクセスするにはどうすればよいですか?
注:私はこの投稿を見ました
ビューモデル(HouseVMと呼びましょう)がありますが、その中に別のビューモデル(KitchenVM)が含まれています。KitchenVM 用のカスタム モデル バインダーは既に作成しています。今、HouseVM モデルバインダーを作成しています。HouseVM モデル バインダー内で KitchenVM に対して既に行ったモデル バインディングにアクセスするにはどうすればよいですか?
注:私はこの投稿を見ました
オプション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 つの良い方法かもしれません。