我寫了模型綁定器的覆蓋。MVC 5模型綁定器覆蓋
public override object BindModel(Controller context, ModelBindingContext bindingContext)
{
var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
object returnVal = null;
if (value == null)
returnVal = base.BindModel(controllerContext, bindingContext);
else
{
/* custom logic here that never seems to get called.
returnVal = something();
*/
}
return returnVal;
}
我也有一個javascript服務(在Angular中),它向我的一個控制器發出AJAX請求。
AJAX請求嘗試發佈整數集。我嘗試通過模型聯編程序,似乎value
始終爲空。通過一些魔術,base.BindModel()
仍然能夠將我的集合綁定到正確的C#對象。
與此問題是,我不能使用我的自定義聯編程序,因爲else
塊永遠不會被調用。除了使用ValueProvider
之外,還有其他方法可以獲得價值嗎?
我也相信,在這個自定義聯編程序工作正常(從內存可能是錯誤的)。我最近從4.5更新到5.2。有沒有更新過的內容可以改變這種行爲?