当FormCollection.AllKeys
包含具有空键的项目时,Controller.UpdateModel
方法不会更新模型。
对于更新前的这种情况,我删除空键
var formCollection =
new FormCollection(controllerContext.HttpContext.Request.Form);
formCollection.Remove("");
UpdateModel(MyModel, formCollection.ToValueProvider());
此代码解决了问题,但更方便的是覆盖DefaultModelBinder
类中的BindModel方法。有没有人有想法为什么会发生?