餘米試圖創建一個自定義的模型綁定與下面的代碼:如何在自定義模型綁定中獲取模型?
public class TransactionModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext,
ModelBindingContext bindingContext)
{
Object Model = bindingContext.Model;
//Do custom logic
return Model;
}
}
在Global.asax中,我米添加:
ModelBinders.Binders.Add(typeof(TransViewModel), new TransactionModelBinder());
問題: 我不知道如何讓模型。我試過bindingContext.Model
,但它是空的。 請同時指導我的Global.asax代碼行是否正常。
同意。如果你願意,可以多指點一點,非常感謝。你說的是從模型,我應該修改一個屬性和返回屬性,而不是完整的模型? 之前我之前嘗試過。只需修改一個小數屬性。 問題: 不幸的是,在Global.asax中,我已經有一個帶有十進制的客戶綁定。我試過: ModelBinders.Binders.Add(typeof(decimal),new CurrencyModelBinder()); ModelBinders.Binders.Add(typeof(decimal),new TxTransactionModelBinder()); 但錯誤「已添加具有相同密鑰的項目。「 – Toubi
詳情請參閱 http://stackoverflow.com/questions/21717757/cant-add-new-custom-model-binder-error-an-item-with-the-same-key-has-already -b?noredirect = 1#comment32841219_21717757 – Toubi
是否意味着在global.asax中,我可以註冊2個相同類型的自定義模型綁定器(在這種情況下,typeof(decimal))?我很欣賞你的方法,但只是想問一下,是不可能的?如果你必須從global.asax執行,你會怎麼做? – Toubi