有没有办法在执行TryUpdateModel
期间控制更新顺序?我需要一个属性才能更新其他属性,但默认情况下,第二个属性在更新另一个属性时仍然为null。
什么是默认更新订单?奇怪的是,我的代码中所需的属性首先在模型和表单中声明。我无法在互联网上找到有关此执行顺序的任何信息。
答案 0 :(得分:2)
有没有办法在执行TryUpdateModel期间控制更新顺序?
不,不能保证订单,您不应该依赖任何订单。这就是为什么一旦模型完全绑定而不是在视图模型设置器中进行验证的原因。
您可以使用数据注释属性,或者一旦您意识到它们有多受限(特别是在条件和更复杂的验证方案方面),请切换到使用ASP.NET MVC FluentValidation.NET integrates very nicely的{{3}}我强烈推荐你。
答案 1 :(得分:0)
据我所知,binder会获取属性,以便在类中输入它们。最后我看到它有一个GetProperties,这就是方法的加载方式。
但是,因为这是私有实现,所以不要指望这一点。如果您有这种约束,请创建自己的ModelBinder。