2010-01-12 39 views
0

我有一個viewmodel(讓我們稱之爲HouseVM),但它包含了另一個viewmodel(KitchenVM)。我已經爲KitchenVM創建了一個自定義模型綁定器。現在我正在創建HouseVM模型綁定器。如何訪問我已經在HouseVM模型綁定器中爲KitchenVM完成的模型綁定?使用其他ViewModelBinder綁定ViewModels

注:我已經看到this post

回答

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

This post by Jimmy Bogard可能實現你的各種定製模型綁定另一個好方法,可以讓每種類型綁定到其相應的型號。