0
我有一個viewmodel(讓我們稱之爲HouseVM),但它包含了另一個viewmodel(KitchenVM)。我已經爲KitchenVM創建了一個自定義模型綁定器。現在我正在創建HouseVM模型綁定器。如何訪問我已經在HouseVM模型綁定器中爲KitchenVM完成的模型綁定?使用其他ViewModelBinder綁定ViewModels
注:我已經看到this post
我有一個viewmodel(讓我們稱之爲HouseVM),但它包含了另一個viewmodel(KitchenVM)。我已經爲KitchenVM創建了一個自定義模型綁定器。現在我正在創建HouseVM模型綁定器。如何訪問我已經在HouseVM模型綁定器中爲KitchenVM完成的模型綁定?使用其他ViewModelBinder綁定ViewModels
注:我已經看到this post
選項#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
This post by Jimmy Bogard可能實現你的各種定製模型綁定另一個好方法,可以讓每種類型綁定到其相應的型號。