Asp.net mvc 模型对象验证(TryValidateModel),但不更新(TryUpdateModel)

Asp.net mvc 模型对象验证(TryValidateModel),但不更新(TryUpdateModel),asp.net-mvc,model-view-controller,validation,updatemodel,Asp.net Mvc,Model View Controller,Validation,Updatemodel,模型对象拒绝在生产服务器上更新,但在开发计算机上没有问题。出于测试目的,我检索模型对象,然后立即检查其验证和更新状态,例如: Timesheet timesheet = _timesheetRepository.GetTimesheet(timesheetId); Helpers.ErrorHandler check = new Helpers.ErrorHandler(); check.write("can I validate immediat

模型对象拒绝在生产服务器上更新,但在开发计算机上没有问题。出于测试目的,我检索模型对象,然后立即检查其验证和更新状态,例如:

        Timesheet timesheet = _timesheetRepository.GetTimesheet(timesheetId);
        Helpers.ErrorHandler check = new Helpers.ErrorHandler();
        check.write("can I validate immediately? :- ", TryValidateModel(timesheet).ToString());
        check.write("can I save immediately? :- ", TryUpdateModel(timesheet).ToString());
TryValidateModel-返回true TryUpdateModel-返回false


有什么建议吗?

验证和绑定是不同的。无效数据通常可以绑定(这是一项功能;它使在出现错误时重新显示页面变得更容易),而“有效”(根据您的验证规则,如果有)数据有时由于键入冲突而无法绑定。

是的,我欣赏验证和绑定的概念,它是WPF的基石,但更重要的是,问题是如何调试和隔离问题?就我个人而言,我调试绑定并跟踪它。很好。这就是我所需要的,因为我已经调试到元数据,没有任何异常显示-万分感谢!在TryUpdateModel之后,ModelState.Errors包含哪些内容?这应该是它放置发生的任何错误的地方。或者尝试UpdateModel并捕获异常,看看它说了什么。似乎有一个日期绑定问题-这可以解释不同机器之间的差异-本地化问题??