C# 使用ModelState验证失败后,ASP.net MVC不会在后续post中更新dropdownlist值

C# 使用ModelState验证失败后,ASP.net MVC不会在后续post中更新dropdownlist值,c#,asp.net-mvc,validation,C#,Asp.net Mvc,Validation,我有一个带有2个提交按钮的视图。控制器对每个按钮都有后续的Post方法。第一个按钮只保存某些字段,不需要任何验证,另一个字段验证整个表单(包括第一个按钮保存的字段),然后只提交页面 在控制器中,我为验证表单字段设置了modelstate.AddError方法。当验证在几个dropdownlist上失败时,MVC似乎会在从第一个按钮开始的后续post中忽略它们。失败的下拉列表值既不在modelstate中捕获,也不在model或FormCollection中捕获。是否有一种方法可以在某些字段没有更

我有一个带有2个提交按钮的视图。控制器对每个按钮都有后续的Post方法。第一个按钮只保存某些字段,不需要任何验证,另一个字段验证整个表单(包括第一个按钮保存的字段),然后只提交页面


在控制器中,我为验证表单字段设置了modelstate.AddError方法。当验证在几个dropdownlist上失败时,MVC似乎会在从第一个按钮开始的后续post中忽略它们。失败的下拉列表值既不在modelstate中捕获,也不在model或FormCollection中捕获。是否有一种方法可以在某些字段没有更新的情况下获取某些字段的更新值(在第一篇文章中很少有字段没有通过验证)。

不用担心MVC,而更多地担心HTML。验证失败后生成的HTML是否更改?发布的数据是如何从一个按钮切换到下一个按钮的?回答这两个问题,你无疑会发现一个与另一个相关。是的,数据确实发生了变化。发回的字段数不包括无效但在第二次发回前已修复的字段值。哪些类型的表单字段包含这些值?Form POST不会根据字段是否有效来更改发布的字段。可能是其他原因改变了发布的字段。这些字段是使用html和kendo MVC包装的Dropdownlist@Html.Kendo().DropDownListFor(model=>model.q).BindTo(ViewBag.AssignedTo)根据是否存在验证错误,字段是否发布是没有意义的。尝试另一种解释。