尝试更新模型更新顺序

本文关键字:更新 顺序 模型 | 更新日期: 2023-09-27 18:33:41

有没有办法控制TryUpdateModel执行期间的更新顺序?我需要一个属性有效才能更新其他属性,但默认情况下,当另一个属性正在更新时,第二个属性仍然为 null。

默认更新顺序是什么?奇怪的是,我的代码中所需的属性首先以模型和形式声明。我在互联网上找不到有关此执行顺序的任何信息。

尝试更新模型更新顺序

有没有办法控制在执行TryUpdateModel期间的更新顺序?

不,不能保证任何订单,您永远不应该指望任何订单。这就是为什么您应该在模型完全绑定后而不是在视图模型资源库中执行验证的原因。

您可以使用数据注释属性,或者一旦您意识到它们的局限性(特别是在条件和更复杂的验证场景中),切换到与 MVC 很好地集成 ASP.NET FluentValidation.NET,我强烈推荐您。

据我所知,绑定程序获取属性,以便它们在类中键入。 最后我看到它执行了 GetProperties,这就是该方法的加载方式。

但是,由于这是一个私有实现,因此不要指望它。 如果您有此类约束,请创建自己的模型绑定器。