2010-03-25 42 views
3

任何人都可以解釋ModelName從哪裏填充?ModelBindingContext ModelName

查看MSDN文檔,這裏沒有說明。 我正在創建一個自定義模型聯編程序,並在其中我得到以下空值: var result = bindingContext.ModelName);

回答

2

ModelBindingContext對象由調用BindModel()方法的任何人創建並填充。如果模型作爲動作方法的參數進入,則由ControllerActionInvoker.GetParameterValue()完成,ModelName屬性將設置爲參數的名稱(除非被[Bind(Prefix = ...) ])。

如果通過UpdateModel()更新模型,則ModelBindingContext對象由UpdateModel()方法本身創建。 ModelName參數將是傳遞給UpdateModel()的前綴參數。

+0

當我把這行代碼放入我的自定義模型綁定器結果爲空時,因爲模型名稱爲null。 var result = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); 如何從價值提供者中獲取值? 這可以通過其他方式完成 - 基本上可以從窗體或查詢中獲取值。謝謝 – Noel 2010-03-26 00:02:21

相關問題