2010-04-06 66 views
2

我的類圖:添加自定義模型綁定派生的對象和他們的基地

BaseContentClass

  • 頁繼承BaseContentClass
  • 標籤繼承BaseContentClass
  • ...

如果我這樣做

ModelBinders.Binders.Add(typeof(BaseContentObject), new BaseContentObjectCommonPropertiesBinder()); 

然後,當控制器類型爲Tab的操作參數出現時,自定義模型聯編程序不會被觸發。

如果我這樣做它被炒魷魚:

ModelBinders.Binders.Add(typeof(Tab), new BaseContentObjectCommonPropertiesBinder()); 

但我不想去寫「N」添加語句在我的global.asax.cs到所有派生類與相關聯的數我的自定義模型活頁夾,是嗎?我不知道我是否有其他選擇。

回答

2

請嘗試這樣做。我沒有測試過,但我相當肯定它會起作用。

[ModelBinder(typeof(BaseContentObjectCommonPropertiesBinder))] 
public class BaseContentObject {} 
+0

完美地工作... – mare 2010-04-06 19:00:58